From ec144aaa8fb8c5a4b65e60bbc31a52d71d6e646a Mon Sep 17 00:00:00 2001 From: Azat Bahawi Date: Thu, 1 Jun 2023 02:39:11 +0300 Subject: 2023-06-01 --- .editorconfig | 4 -- darwinConfigurations/mairon/default.nix | 10 +++ flake.lock | 111 ++++++++++++++++++++--------- flake.nix | 22 +++++- modules/common/common/home-manager.nix | 5 +- modules/common/common/nix/default.nix | 1 + modules/common/emacs/doom/packages.el | 11 +-- modules/common/profiles/headful.nix | 1 + modules/common/vscode.nix | 30 +++++++- modules/darwin/common/nix.nix | 1 + modules/darwin/homebrew.nix | 5 ++ modules/nixos/firefox/userContent.css | 8 +++ modules/nixos/games/steam-run.nix | 4 -- modules/nixos/syncthing.nix | 120 ++++++++++++++++---------------- nixosConfigurations/eonwe/default.nix | 18 +++-- 15 files changed, 232 insertions(+), 119 deletions(-) diff --git a/.editorconfig b/.editorconfig index 2bdad08..f3067de 100644 --- a/.editorconfig +++ b/.editorconfig @@ -20,7 +20,3 @@ indent_style = space [*.{yaml,yml}] indent_size = 2 indent_style = space - -[*.el] -indent_size = 2 -indent_style = space diff --git a/darwinConfigurations/mairon/default.nix b/darwinConfigurations/mairon/default.nix index 451a8a9..6f129ac 100644 --- a/darwinConfigurations/mairon/default.nix +++ b/darwinConfigurations/mairon/default.nix @@ -14,6 +14,16 @@ with lib; { extraConfig."url \"git@gitlab.services.work.com:\"".insteadOf = "work:"; }; + homebrew.casks = [ + {name = "burp-suite";} + {name = "docker";} + {name = "obs";} + {name = "openlens";} + {name = "postman";} + {name = "wireshark";} + {name = "xcodes";} + ]; + networking = { computerName = mkForce this.hostname; hostName = mkForce null; # We don't want to override this. diff --git a/flake.lock b/flake.lock index 9758c4b..74a75ec 100644 --- a/flake.lock +++ b/flake.lock @@ -122,11 +122,11 @@ ] }, "locked": { - "lastModified": 1684343812, - "narHash": "sha256-ZTEjiC8PDKeP8JRchuwcFXUNlMcyQ4U+DpyVZ3pB6Q4=", + "lastModified": 1685559570, + "narHash": "sha256-MNIQvLRoq92isMLR/ordKNCl+aXNiuwBM4QyqmS8d00=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "dfbdabbb3e797334172094d4f6c0ffca8c791281", + "rev": "4338bc869e9874d54a4c89539af72f16666b2abe", "type": "github" }, "original": { @@ -177,6 +177,22 @@ "type": "github" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-registry": { "flake": false, "locked": { @@ -199,11 +215,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1681202837, - "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", + "lastModified": 1685518550, + "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", "owner": "numtide", "repo": "flake-utils", - "rev": "cfacdce06f30d2b68473a46042957675eebb3401", + "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", "type": "github" }, "original": { @@ -262,11 +278,11 @@ ] }, "locked": { - "lastModified": 1684596126, - "narHash": "sha256-4RZZmygeEXpuBqEXGs38ZAcWjWKGwu13Iqbxub6wuJk=", + "lastModified": 1685553090, + "narHash": "sha256-DsAYE1AaR4NcZeeotEIE1XlNVXAv8NxUVDxOb7t4wxU=", "owner": "nix-community", "repo": "home-manager", - "rev": "27ef11f0218d9018ebb2948d40133df2b1de622d", + "rev": "f1490b8caf2ef6f59205c78cf1a8b68e776214a3", "type": "github" }, "original": { @@ -310,6 +326,7 @@ }, "nix-minecraft": { "inputs": { + "flake-compat": "flake-compat_2", "flake-utils": [ "flake-utils" ], @@ -318,11 +335,11 @@ ] }, "locked": { - "lastModified": 1684287466, - "narHash": "sha256-Qo+tBZLEZZkQYZsbhOUswH5DsB23nDk/LCkzO5n3yoo=", + "lastModified": 1685558819, + "narHash": "sha256-nsYS9q60awOMAoMzpP88PlPdQfcfvn2XzT6+fA9M1s8=", "owner": "Infinidoge", "repo": "nix-minecraft", - "rev": "5f4e13776ee0899b0aee4b253a8b733d899746a2", + "rev": "7adce0d27556e869ab6d5c7ab08b382175a70011", "type": "github" }, "original": { @@ -332,13 +349,40 @@ "type": "github" } }, + "nix-vscode-extensions": { + "inputs": { + "flake-compat": [ + "flake-compat" + ], + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1685496289, + "narHash": "sha256-WKMrM2YcyyMMT62lCWOVKD/B+xsL3aCnKBrGfJ04jW4=", + "owner": "nix-community", + "repo": "nix-vscode-extensions", + "rev": "bef8f6e461c92e2141b14a83bc1c479dd8e6ca6a", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "master", + "repo": "nix-vscode-extensions", + "type": "github" + } + }, "nixos-hardware": { "locked": { - "lastModified": 1684169666, - "narHash": "sha256-N5jrykeSxLVgvm3Dd3hZ38/XwM/jU+dltqlXgrGlYxk=", + "lastModified": 1684899633, + "narHash": "sha256-NtwerXX8UFsoNy6k+DukJMriWtEjQtMU/Urbff2O2Dg=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "71ce85372a614d418d5e303dd5702a79d1545c04", + "rev": "4cc688ee711159b9bcb5a367be44007934e1a49d", "type": "github" }, "original": { @@ -350,11 +394,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1684585791, - "narHash": "sha256-lYPboblKrchmbkGMoAcAivomiOscZCjtGxxTSCY51SM=", + "lastModified": 1685498995, + "narHash": "sha256-rdyjnkq87tJp+T2Bm1OD/9NXKSsh/vLlPeqCc/mm7qs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eea79d584eff53bf7a76aeb63f8845da6d386129", + "rev": "9cfaa8a1a00830d17487cb60a19bb86f96f09b27", "type": "github" }, "original": { @@ -366,11 +410,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1684612454, - "narHash": "sha256-15vluZKXxC76FqAryST1QrUVE7Xlwkrs7lrPTQGYIz0=", + "lastModified": 1685569895, + "narHash": "sha256-23DqNgDHL0+V4hVtu+/wbM1c9RaZ7JSZGdhGS1Avz24=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8bf3e834daedadc6d0f4172616b2bdede1109c48", + "rev": "4c042866938cfef3dfb2b58e21319874cdeb8f4d", "type": "github" }, "original": { @@ -382,11 +426,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1684611397, - "narHash": "sha256-A65pyWfriRMqsjHlc9F19RKkMgY/EJqr7cBTcgxUo6Y=", + "lastModified": 1685561320, + "narHash": "sha256-3JZT3wNmO2ki7Fqw2YV7RE9j3WsVZRVPIPRyvenpQ+U=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e31e2ce559a628995f6f564a80a2074b7f5dcd25", + "rev": "a649c8fcce9950e11891c4d0b06f3e1d7704be9a", "type": "github" }, "original": { @@ -432,11 +476,11 @@ }, "nur": { "locked": { - "lastModified": 1684612984, - "narHash": "sha256-XqWVrtHiY7r/NJMDS02i1kj3Q7BOU7BnfQfEd6v3ZIE=", + "lastModified": 1685562312, + "narHash": "sha256-eDq0kGiq01RfywqOYrquwUbvqRhICfNIhgtLkJXf8do=", "owner": "nix-community", "repo": "NUR", - "rev": "3c932dd06b0a537b890e1fd3e31deceb1ac3dea3", + "rev": "0816fd8a19c336be3104500fd3ca59e9464d5a39", "type": "github" }, "original": { @@ -488,11 +532,11 @@ ] }, "locked": { - "lastModified": 1684195081, - "narHash": "sha256-IKnQUSBhQTChFERxW2AzuauVpY1HRgeVzAjNMAA4B6I=", + "lastModified": 1685361114, + "narHash": "sha256-4RjrlSb+OO+e1nzTExKW58o3WRwVGpXwj97iCta8aj4=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "96eabec58248ed8f4b0ad59e7ce9398018684fdc", + "rev": "ca2fdbf3edda2a38140184da6381d49f8206eaf4", "type": "github" }, "original": { @@ -516,6 +560,7 @@ "home-manager": "home-manager_2", "impermanence": "impermanence", "nix-minecraft": "nix-minecraft", + "nix-vscode-extensions": "nix-vscode-extensions", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "nixpkgs-master": "nixpkgs-master", @@ -546,11 +591,11 @@ ] }, "locked": { - "lastModified": 1684048308, - "narHash": "sha256-JcQe0Zmov/32L+GQ+O+H8Qoll+jjvkcrd8/TNtE6TBY=", + "lastModified": 1684964237, + "narHash": "sha256-dDS+GhdZN2MAa2FJKFGM2gpgAXhx+xoMkpVsRx9qpDE=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "c04e4f22da48319d15593a2c942431744c12f27c", + "rev": "1bcfcf786bc289ca1bd2c9d29d6f02d9141b1da3", "type": "gitlab" }, "original": { diff --git a/flake.nix b/flake.nix index a58fed6..170377e 100644 --- a/flake.nix +++ b/flake.nix @@ -74,6 +74,18 @@ ref = "master"; }; + nix-vscode-extensions = { + type = "github"; + owner = "nix-community"; + repo = "nix-vscode-extensions"; + ref = "master"; + inputs = { + flake-compat.follows = "flake-compat"; + flake-utils.follows = "flake-utils"; + nixpkgs.follows = "nixpkgs"; + }; + }; + arkenfox-nixos = { type = "github"; owner = "dwarfmaster"; @@ -87,6 +99,7 @@ }; }; + # TODO Check out https://github.com/nix-community/mineflake nix-minecraft = { type = "github"; owner = "Infinidoge"; @@ -286,10 +299,17 @@ promtool = { enable = true; name = "promtool"; - description = "Check Prometheus rules."; + description = "Check Prometheus rules"; entry = "${pkgs.prometheus.cli}/bin/promtool check rules"; files = "(?x)^(modules/nixos/monitoring/rules/.*\.yaml)$"; }; + nixpkgs-lint = { + enable = true; + name = "nixpkgs-lint"; + description = "Semantic linter for Nixpkgs using tree-sitter"; + entry = "${pkgs.nixpkgs-lint}/bin/nixpkgs-lint"; + files = "(?x)^(packages/.*\.nix)$"; + }; }; settings.deadnix.edit = true; }; diff --git a/modules/common/common/home-manager.nix b/modules/common/common/home-manager.nix index b28260a..240cd93 100644 --- a/modules/common/common/home-manager.nix +++ b/modules/common/common/home-manager.nix @@ -1,5 +1,4 @@ { - inputs, lib, localUsername ? lib.my.username, ... @@ -11,8 +10,8 @@ with lib; { hm = { news.display = "silent"; - home.stateVersion = with builtins; - head (split "\n" (readFile "${inputs.nixpkgs}/.version")); + # FIXME This is temporary until home-manager expands the option enum. + home.stateVersion = "23.05"; }; home-manager = { diff --git a/modules/common/common/nix/default.nix b/modules/common/common/nix/default.nix index 0c49034..fa1c85e 100644 --- a/modules/common/common/nix/default.nix +++ b/modules/common/common/nix/default.nix @@ -141,6 +141,7 @@ with lib; { tor-browser = tor-browser-bundle-bin; })) agenix.overlays.default + nix-vscode-extensions.overlays.default nur.overlay ]; diff --git a/modules/common/emacs/doom/packages.el b/modules/common/emacs/doom/packages.el index a8e52eb..99ead41 100644 --- a/modules/common/emacs/doom/packages.el +++ b/modules/common/emacs/doom/packages.el @@ -1,5 +1,11 @@ (disable-packages! writegood-mode) +(unpin! evil-collection) +(package! evil-collection + :recipe (:repo "kepi/evil-collection" + :branch "mu4e-development")) + +(unpin! org-roam) (package! org-roam :recipe (:host github :repo "org-roam/org-roam" @@ -9,11 +15,6 @@ :repo "org-roam/org-roam-ui" :branch "main")) -(package! tree-sitter - :recipe (:host github - :repo "azahi/elisp-tree-sitter" - :branch "master")) - (package! hledger-mode) (package! kubernetes) diff --git a/modules/common/profiles/headful.nix b/modules/common/profiles/headful.nix index f51ecc8..6ec092d 100644 --- a/modules/common/profiles/headful.nix +++ b/modules/common/profiles/headful.nix @@ -32,6 +32,7 @@ in { ''; packages = with pkgs; [ + comma fd ripgrep ripgrep-all diff --git a/modules/common/vscode.nix b/modules/common/vscode.nix index 2d34788..ee3e18c 100644 --- a/modules/common/vscode.nix +++ b/modules/common/vscode.nix @@ -32,16 +32,38 @@ in { inherit (cfg) package; - extensions = with pkgs; - with vscode-extensions; + extensions = with pkgs.open-vsx; [ + arrterian.nix-env-selector editorconfig.editorconfig - file-icons.file-icons + efoerster.texlab + github.vscode-pull-request-github gitlab.gitlab-workflow + golang.go + graphql.vscode-graphql + hashicorp.hcl + hashicorp.terraform + haskell.haskell + jnoortheen.nix-ide + kahole.magit + mads-hartmann.bash-ide-vscode + mkhl.direnv ms-kubernetes-tools.vscode-kubernetes-tools + ms-python.python + ms-vscode.cmake-tools + pinage404.nix-extension-pack + redhat.ansible + redhat.java redhat.vscode-xml redhat.vscode-yaml + rust-lang.rust streetsidesoftware.code-spell-checker + streetsidesoftware.code-spell-checker-british-english + streetsidesoftware.code-spell-checker-russian + streetsidesoftware.code-spell-checker-scientific-terms + sumneko.lua + vscode-org-mode.org-mode + ziglang.vscode-zig ] ++ optional cfg.vim.enable vscodevim.vim; @@ -141,6 +163,8 @@ in { useSystemClipboard = true; }; + + redhat.telemetry.enabled = false; }; }; }; diff --git a/modules/darwin/common/nix.nix b/modules/darwin/common/nix.nix index b291d11..08379f8 100644 --- a/modules/darwin/common/nix.nix +++ b/modules/darwin/common/nix.nix @@ -39,5 +39,6 @@ with lib; { services.nix-daemon.enable = true; + # https://github.com/LnL7/nix-darwin/blob/master/CHANGELOG system.stateVersion = 4; } diff --git a/modules/darwin/homebrew.nix b/modules/darwin/homebrew.nix index 990afae..f0bec9b 100644 --- a/modules/darwin/homebrew.nix +++ b/modules/darwin/homebrew.nix @@ -16,6 +16,11 @@ in { homebrew = { enable = true; taps = []; + onActivation = { + autoUpdate = true; + cleanup = "zap"; + upgrade = true; + }; }; }; } diff --git a/modules/nixos/firefox/userContent.css b/modules/nixos/firefox/userContent.css index 2b515e3..a55d78f 100644 --- a/modules/nixos/firefox/userContent.css +++ b/modules/nixos/firefox/userContent.css @@ -330,3 +330,11 @@ background: inherit !important; } } + +@-moz-document regexp("https?://protondb\.com/app/.*") +{ + /* SteamDeck reports. */ + div[class*="GameReports__Container"]:nth-child(8) { + display: none !important; + } +} diff --git a/modules/nixos/games/steam-run.nix b/modules/nixos/games/steam-run.nix index ba18849..37a20e0 100644 --- a/modules/nixos/games/steam-run.nix +++ b/modules/nixos/games/steam-run.nix @@ -11,7 +11,6 @@ in { enable = mkEnableOption "native Steam runtime"; quirks = { - crusaderKings3 = mkEnableOption ''fixes for "Crusader Kings III" issues''; cryptOfTheNecrodancer = mkEnableOption ''fixes for "Crypt of the NecroDancer" issues''; mountAndBladeWarband = mkEnableOption ''fixes for "Mount & Blade: Warband" issues''; }; @@ -32,9 +31,6 @@ in { extraLibraries = _: with cfg.quirks; [] - ++ optionals crusaderKings3 [ - ncurses - ] ++ optionals cryptOfTheNecrodancer [ (import (builtins.fetchTarball { url = "https://github.com/NixOS/nixpkgs/archive/d1c3fea7ecbed758168787fe4e4a3157e52bc808.tar.gz"; diff --git a/modules/nixos/syncthing.nix b/modules/nixos/syncthing.nix index faf6723..24bfbb6 100644 --- a/modules/nixos/syncthing.nix +++ b/modules/nixos/syncthing.nix @@ -50,73 +50,68 @@ in { overrideDevices = true; overrideFolders = true; - settings = { - devices = mapAttrs (name: attr: - mkIf (attr.syncthing.id != null && hasAttr "wireguard" attr) { - inherit (attr.syncthing) id; - addresses = ["tcp://${name}.${config.networking.domain}:22000"]; - introducer = this.isHeadless; - }) - my.configurations; + devices = mapAttrs (name: attr: + mkIf (attr.syncthing.id != null && hasAttr "wireguard" attr) { + inherit (attr.syncthing) id; + addresses = ["tcp://${name}.${config.networking.domain}:22000"]; + introducer = this.isHeadless; + }) + my.configurations; - folders = let - filterDevices = f: - attrNames (filterAttrs (_: attr: - (attr.hostname != this.hostname) - && (attr.syncthing.id != null) - && f attr) - my.configurations); - all = filterDevices (_: true); - notHeadless = filterDevices (attr: !attr.isHeadless); - notOther = filterDevices (attr: !attr.isOther); + folders = let + filterDevices = f: + attrNames (filterAttrs (_: attr: + (attr.hostname != this.hostname) + && (attr.syncthing.id != null) + && f attr) + my.configurations); + all = filterDevices (_: true); + notHeadless = filterDevices (attr: !attr.isHeadless); + notOther = filterDevices (attr: !attr.isOther); - simple = { - type = "simple"; - params.keep = "5"; + simple = { + type = "simple"; + params.keep = "5"; + }; + trashcan = { + type = "trashcan"; + params.cleanoutDays = "7"; + }; + in + with config.hm.xdg.userDirs; { + share = { + path = publicShare; + devices = notHeadless; + versioning = trashcan; }; - trashcan = { - type = "trashcan"; - params.cleanoutDays = "7"; + pass = { + path = config.hm.programs.password-store.settings.PASSWORD_STORE_DIR; + devices = notOther; + versioning = trashcan; }; - in - with config.hm.xdg.userDirs; { - share = { - path = publicShare; - devices = notHeadless; - versioning = trashcan; - }; - pass = { - path = config.hm.programs.password-store.settings.PASSWORD_STORE_DIR; - devices = notOther; - versioning = trashcan; - }; - org = { - path = "${documents}/org"; - devices = all; - versioning = simple; - }; - roam = { - path = "${documents}/roam"; - devices = notOther; - versioning = simple; - }; - elfeed = { - path = "${config.my.home}/.elfeed"; - devices = notOther; - versioning = trashcan; - }; - books = { - path = "${documents}/books"; - devices = notOther; - versioning = trashcan; - }; + org = { + path = "${documents}/org"; + devices = all; + versioning = simple; + }; + roam = { + path = "${documents}/roam"; + devices = notOther; + versioning = simple; + }; + elfeed = { + path = "${config.my.home}/.elfeed"; + devices = notOther; + versioning = trashcan; + }; + books = { + path = "${documents}/books"; + devices = notOther; + versioning = trashcan; }; - - gui = { - insecureAdminAccess = true; - insecureSkipHostcheck = this.isHeadless; }; + extraOptions = { options = { testOption = false; autoUpgradeIntervalH = 0; @@ -128,6 +123,11 @@ in { stunKeepaliveStartS = 0; urAccepted = -1; }; + + gui = { + insecureAdminAccess = true; + insecureSkipHostcheck = this.isHeadless; + }; }; }; diff --git a/nixosConfigurations/eonwe/default.nix b/nixosConfigurations/eonwe/default.nix index 1545925..b66aec2 100644 --- a/nixosConfigurations/eonwe/default.nix +++ b/nixosConfigurations/eonwe/default.nix @@ -18,7 +18,6 @@ with lib; { lutris.enable = true; minecraft.client.enable = true; steam.enable = true; - steam-run.quirks.crusaderKings3 = true; }; android.enable = true; bluetooth.enable = true; @@ -28,6 +27,8 @@ with lib; { mpd.enable = true; ipfs.enable = true; + vscode.enable = true; + common.nix.allowedUnfreePackages = ["burpsuite"]; }; @@ -41,6 +42,7 @@ with lib; { openttd radeontop vcmi + vial whatweb ]; @@ -63,13 +65,17 @@ with lib; { services.mpd.musicDirectory = mkForce "/mnt/udata/music"; }; - services.smartd = { - enable = true; - notifications.mail = { + services = { + smartd = { enable = true; - sender = "admin+smartd@${my.domain.shire}"; - recipient = "admin+smartd@${my.domain.shire}"; + notifications.mail = { + enable = true; + sender = "admin+smartd@${my.domain.shire}"; + recipient = "admin+smartd@${my.domain.shire}"; + }; }; + + udev.packages = with pkgs; [vial]; }; # Usually stuff that is going to be compiled on this machine is going to have -- cgit v1.2.3