summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzat Bahawi <azat@bahawi.net>2023-01-05 04:22:04 +0300
committerAzat Bahawi <azat@bahawi.net>2023-01-05 04:22:04 +0300
commit5e81e4814d6da25ce8531baf0bc2d23da7fc26b3 (patch)
treecd887f80d9f98d42db556b4a42bcb8d5faa91c84
parent313e18cb6119d4b03580d8d34fbec0c78bca872c (diff)
2023-01-05
-rw-r--r--flake.lock122
-rw-r--r--flake.nix25
-rw-r--r--modules/darwin/emacs.nix8
-rw-r--r--modules/nixfiles/common/nix/default.nix5
-rw-r--r--modules/nixfiles/discord.nix22
-rw-r--r--modules/nixfiles/emacs/default.nix4
-rw-r--r--modules/nixfiles/emacs/doom/init.el26
-rw-r--r--modules/nixos/common/networking.nix186
-rw-r--r--modules/nixos/common/nix.nix3
-rw-r--r--modules/nixos/discord.nix2
-rw-r--r--modules/nixos/emacs.nix2
-rw-r--r--modules/nixos/games/minecraft.nix4
-rw-r--r--modules/nixos/libvirtd.nix8
-rw-r--r--modules/nixos/matrix/default.nix8
-rw-r--r--modules/nixos/profiles/dev/default.nix4
-rw-r--r--modules/nixos/profiles/headful.nix5
-rw-r--r--nixosConfigurations/default.nix1
-rw-r--r--nixosConfigurations/eonwe/default.nix49
-rw-r--r--nixosConfigurations/iso/default.nix3
-rw-r--r--nixosConfigurations/manwe/default.nix4
-rw-r--r--nixosConfigurations/melian/default.nix34
-rw-r--r--nixosConfigurations/varda/default.nix4
-rw-r--r--nixosConfigurations/yavanna/default.nix16
23 files changed, 305 insertions, 240 deletions
diff --git a/flake.lock b/flake.lock
index 6d8862f..17afe17 100644
--- a/flake.lock
+++ b/flake.lock
@@ -299,11 +299,11 @@
]
},
"locked": {
- "lastModified": 1671049694,
- "narHash": "sha256-APJajoa7Q4i8LFOHoiyU3G5nJ3Xv2IiI2qY9i0pJnlw=",
+ "lastModified": 1672673185,
+ "narHash": "sha256-wnEJOjhwgoSHFnBQfGHkPefuUSvTegRYed6BUOguk9g=",
"owner": "dwarfmaster",
"repo": "arkenfox-nixos",
- "rev": "99028aef3e9dfa3dc44e51e0d7296cf93d910af8",
+ "rev": "b46b140fe8631e4bc26f80d04477691df2d84af2",
"type": "github"
},
"original": {
@@ -353,11 +353,11 @@
]
},
"locked": {
- "lastModified": 1671196037,
- "narHash": "sha256-2+J98SeczFWonbqFLMEAQC7vZEe6I2gM17XYvEmG52I=",
+ "lastModified": 1672753581,
+ "narHash": "sha256-EIi2tqHoje5cE9WqH23ZghW28NOOWSUM7tcxKE1U9KI=",
"owner": "LnL7",
"repo": "nix-darwin",
- "rev": "adb8ac0453c8b2c40f5bffb578453dbaee838952",
+ "rev": "3db1d870b04b13411f56ab1a50cd32b001f56433",
"type": "github"
},
"original": {
@@ -434,11 +434,11 @@
]
},
"locked": {
- "lastModified": 1671268121,
- "narHash": "sha256-LIOLFw5m2mYDjMo7eBB/cxYjhEqBnvQ8dpZvTjR6+Lo=",
+ "lastModified": 1672852603,
+ "narHash": "sha256-i5QlHEHG/T4Pp150a6cZe76EcgW/IePPiaRGcIyTBrE=",
"owner": "nix-community",
"repo": "emacs-overlay",
- "rev": "249d14bdd55995eea2e0c9cfed8a230525faebde",
+ "rev": "ed0045366fc3bcc7ecd3dccdbf66c2cfa979fe18",
"type": "github"
},
"original": {
@@ -642,11 +642,11 @@
]
},
"locked": {
- "lastModified": 1671209729,
- "narHash": "sha256-zxn1eA/rMi2DOx43V7q87bGaDzvL7CMVY/Ti7lJ92DQ=",
+ "lastModified": 1672780900,
+ "narHash": "sha256-DxuSn6BdkZapIbg76xzYx1KhVPEZeBexMkt1q/sMVPA=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "7d55a72d4c1df694e87a41a7e6c9a7b6e9a40ca3",
+ "rev": "54245e1820caabd8a0b53ce4d47e4d0fefe04cd4",
"type": "github"
},
"original": {
@@ -656,6 +656,22 @@
"type": "github"
}
},
+ "libnbtplusplus": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1650031308,
+ "narHash": "sha256-TvVOjkUobYJD9itQYueELJX3wmecvEdCbJ0FinW2mL4=",
+ "owner": "PrismLauncher",
+ "repo": "libnbtplusplus",
+ "rev": "2203af7eeb48c45398139b583615134efd8d407f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "PrismLauncher",
+ "repo": "libnbtplusplus",
+ "type": "github"
+ }
+ },
"master": {
"flake": false,
"locked": {
@@ -709,11 +725,11 @@
"ws-butler": "ws-butler"
},
"locked": {
- "lastModified": 1671154105,
- "narHash": "sha256-OI6M2/Kcd1bJuodxV6rV5KtDJMUeewsqKy1B2PLNVys=",
+ "lastModified": 1671758850,
+ "narHash": "sha256-B6us/CLIIPJRJgjn/hVp7N07j90kil4HmjUVj8TBhKE=",
"owner": "nix-community",
"repo": "nix-doom-emacs",
- "rev": "2150fd40b2110bbd11dcb62fa5f307ec345b0fb0",
+ "rev": "85a48dbec84e9c26785b58fecdefa1cfc580aea7",
"type": "github"
},
"original": {
@@ -741,11 +757,11 @@
},
"nixos-hardware": {
"locked": {
- "lastModified": 1671228065,
- "narHash": "sha256-Az/ig9LVL5xdqtyl4/CVKJIH1G7sP/9Ott2XnNyie0E=",
+ "lastModified": 1672644464,
+ "narHash": "sha256-RYlvRMcQNT7FDoDkViijQBHg9g+blsB+U6AvL/gAsPI=",
"owner": "NixOS",
"repo": "nixos-hardware",
- "rev": "e462a4baf75eeac639b4942481759de08a3bc94e",
+ "rev": "ca29e25c39b8e117d4d76a81f1e229824a9b3a26",
"type": "github"
},
"original": {
@@ -757,11 +773,11 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1671249438,
- "narHash": "sha256-5e+CcnbZA3/i2BRXbnzRS52Ly67MUNdZR+Zpbb2C65k=",
+ "lastModified": 1672756850,
+ "narHash": "sha256-Smbq3+fitwA13qsTMeaaurv09/KVbZfW7m7lINwzDGA=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "067bfc6c90a301572cec7da48f09c447a9a8eae0",
+ "rev": "298add347c2bbce14020fcb54051f517c391196b",
"type": "github"
},
"original": {
@@ -773,11 +789,11 @@
},
"nixpkgs-master": {
"locked": {
- "lastModified": 1671282610,
- "narHash": "sha256-B8qHrJjsu2rv2BPlj7EkM0H+ZJvVucaiCOIp5191+xc=",
+ "lastModified": 1672874841,
+ "narHash": "sha256-CKr3mOiSYm8H5bg7q1hb0TE9tDHSmqZPNzVAfNmmazE=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "b43f29bdc27e3f14ba0416a2a8492a3f35e6cd58",
+ "rev": "62f7bf5a13149097694e84cff1e928a97a39741b",
"type": "github"
},
"original": {
@@ -789,11 +805,11 @@
},
"nixpkgs-stable": {
"locked": {
- "lastModified": 1671282711,
- "narHash": "sha256-DJknmGMZPIMlJnLqP99A+dZiWOirRVeCZrQK8kn1nug=",
+ "lastModified": 1672844754,
+ "narHash": "sha256-o26WabuHABQsaHxxmIrR3AQRqDFUEdLckLXkVCpIjSU=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "8ac4d14fc64c39707e98421e84ed6a7160c06ecd",
+ "rev": "e9ade2c8240e00a4784fac282a502efff2786bdc",
"type": "github"
},
"original": {
@@ -855,11 +871,11 @@
},
"nur": {
"locked": {
- "lastModified": 1671251299,
- "narHash": "sha256-QFslNMb6xQdgEoHmbZ+YjyXysCPsiU2dOPpjWp68dYg=",
+ "lastModified": 1672875891,
+ "narHash": "sha256-5A4e/Uc6aWQmMsYnMOffLg766weMfCakxo2AnQXrJco=",
"owner": "nix-community",
"repo": "NUR",
- "rev": "ca8e5a3c87bd533b1c0b0b4195b1191ad23c1c66",
+ "rev": "e14930ece703757a928cb62327d4157bb30a7a90",
"type": "github"
},
"original": {
@@ -949,6 +965,31 @@
"type": "github"
}
},
+ "pollymc": {
+ "inputs": {
+ "flake-compat": [
+ "flake-compat"
+ ],
+ "libnbtplusplus": "libnbtplusplus",
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1671576765,
+ "narHash": "sha256-L6o9OK560Tkkfj18y7SD10E9BewDqa73tDZ+N1DSn4A=",
+ "owner": "fn2006",
+ "repo": "PollyMC",
+ "rev": "689a653cc476241220a8758dcbbc3b197e2aa156",
+ "type": "github"
+ },
+ "original": {
+ "owner": "fn2006",
+ "ref": "6.1",
+ "repo": "PollyMC",
+ "type": "github"
+ }
+ },
"pre-commit-hooks": {
"inputs": {
"flake-compat": [
@@ -966,11 +1007,11 @@
]
},
"locked": {
- "lastModified": 1671180323,
- "narHash": "sha256-qAE390OdYvzSMe58HLpoMZ7llPlp+zIy84pXPnuXqCo=",
+ "lastModified": 1672734157,
+ "narHash": "sha256-uwUBnv0bN1SO4QVIo8KUx/jxRYCy7cW8kzZa+Qsrw9k=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
- "rev": "a49fc91a606dbbb7a916c56bc09776fc67b5c121",
+ "rev": "d0ce0a861260493c6c21f16f59d25076f73cb931",
"type": "github"
},
"original": {
@@ -1016,6 +1057,7 @@
"nmap-vulners": "nmap-vulners",
"nmap-vulscan": "nmap-vulscan",
"nur": "nur",
+ "pollymc": "pollymc",
"pre-commit-hooks": "pre-commit-hooks",
"simple-nixos-mailserver": "simple-nixos-mailserver",
"xmonad-ng": "xmonad-ng"
@@ -1043,7 +1085,7 @@
"nixpkgs": [
"nixpkgs"
],
- "nixpkgs-22_05": [
+ "nixpkgs-22_11": [
"nixpkgs-stable"
],
"utils": [
@@ -1051,11 +1093,11 @@
]
},
"locked": {
- "lastModified": 1669807829,
- "narHash": "sha256-rgQ8MYV1UD4Ynw0wzfl9hatgsV5GV7X6eM6ioSPKzls=",
+ "lastModified": 1671659164,
+ "narHash": "sha256-DbpT+v1POwFOInbrDL+vMbYV3mVbTkMxmJ5j50QnOcA=",
"owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver",
- "rev": "694e7d34f60028f4877517e1c7c73c9527fad400",
+ "rev": "bc667fb6afc45f6cc2d118ab77658faf2227cffd",
"type": "gitlab"
},
"original": {
@@ -1084,11 +1126,11 @@
"ts-fold": {
"flake": false,
"locked": {
- "lastModified": 1670681486,
- "narHash": "sha256-Ss1FWOq51+0FQpQWXPiSWHmNYU6NurUvI2wAjOGV/kA=",
+ "lastModified": 1671426601,
+ "narHash": "sha256-NrvSK+olbi4P+9q5KOomNHGgmrRtI9cW9ZqkdU4n0Sc=",
"owner": "jcs-elpa",
"repo": "ts-fold",
- "rev": "85db0117ead108213cc2a4210f72746d8ad8d20a",
+ "rev": "a64f5252a66253852bef1c627cea9e39928e6392",
"type": "github"
},
"original": {
diff --git a/flake.nix b/flake.nix
index e5c1e17..ba845a4 100644
--- a/flake.nix
+++ b/flake.nix
@@ -109,6 +109,9 @@
# };
# };
+ # NOTE This[1] is annoying.
+ #
+ # [1]: https://github.com/NixOS/nix/pull/6983#issuecomment-1234335417
# nix-minecraft-servers = {
# type = "github";
# owner = "jyooru";
@@ -120,16 +123,16 @@
# };
# };
- # pollymc = {
- # type = "github";
- # owner = "fn2006";
- # repo = "PollyMC";
- # ref = "5.2";
- # inputs = {
- # flake-compat.follows = "flake-compat";
- # nixpkgs.follows = "nixpkgs";
- # };
- # };
+ pollymc = {
+ type = "github";
+ owner = "fn2006";
+ repo = "PollyMC";
+ ref = "6.1";
+ inputs = {
+ flake-compat.follows = "flake-compat";
+ nixpkgs.follows = "nixpkgs";
+ };
+ };
dns-nix = {
type = "github";
@@ -148,7 +151,7 @@
repo = "nixos-mailserver";
ref = "master";
inputs = {
- nixpkgs-22_05.follows = "nixpkgs-stable";
+ nixpkgs-22_11.follows = "nixpkgs-stable";
nixpkgs.follows = "nixpkgs";
utils.follows = "flake-utils";
};
diff --git a/modules/darwin/emacs.nix b/modules/darwin/emacs.nix
index 02bfb83..fd32276 100644
--- a/modules/darwin/emacs.nix
+++ b/modules/darwin/emacs.nix
@@ -7,9 +7,9 @@ with lib; let
cfg = config.nixfiles.modules.emacs;
in {
config = mkIf cfg.enable {
- # services.emacs = {
- # enable = true;
- # package = config.hm.programs.doom-emacs.package;
- # };
+ services.emacs = {
+ enable = false; # TODO Figure out how to use this.
+ inherit (config.hm.programs.doom-emacs) package;
+ };
};
}
diff --git a/modules/nixfiles/common/nix/default.nix b/modules/nixfiles/common/nix/default.nix
index aeb25bd..436ce15 100644
--- a/modules/nixfiles/common/nix/default.nix
+++ b/modules/nixfiles/common/nix/default.nix
@@ -29,14 +29,12 @@ with lib; {
in {
# https://github.com/NixOS/nix/blob/master/src/libutil/experimental-features.cc
extraOptions = ''
- max-jobs = auto
warn-dirty = false
flake-registry = ${inputs.flake-registry}/flake-registry.json
extra-experimental-features = ca-derivations
extra-experimental-features = flakes
extra-experimental-features = nix-command
extra-experimental-features = recursive-nix
- keep-going = true
keep-derivations = ${
if this.isHeadful
then "true"
@@ -120,9 +118,8 @@ with lib; {
tor-browser = tor-browser-bundle-bin;
}))
emacs-overlay.overlay
- # nil.overlays.default
nur.overlay
- # pollymc.overlay
+ # nil.overlays.default
];
environment.systemPackages = with pkgs;
diff --git a/modules/nixfiles/discord.nix b/modules/nixfiles/discord.nix
deleted file mode 100644
index 190b5fc..0000000
--- a/modules/nixfiles/discord.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-with lib; let
- cfg = config.nixfiles.modules.discord;
-in {
- options.nixfiles.modules.discord.enable =
- mkEnableOption "Steam runtime";
-
- config = mkIf cfg.enable {
- nixfiles.modules.common.nix.allowedUnfreePackages = ["discord"];
-
- hm.home.packages = with pkgs; [
- (discord.override {
- withOpenASAR = true;
- })
- ];
- };
-}
diff --git a/modules/nixfiles/emacs/default.nix b/modules/nixfiles/emacs/default.nix
index 933a32e..499dd59 100644
--- a/modules/nixfiles/emacs/default.nix
+++ b/modules/nixfiles/emacs/default.nix
@@ -59,7 +59,7 @@ in {
gotests # :lang go
graphviz # :lang (org +roam2) :lang plantuml
haskell-language-server # :lang (haskell +lsp)
- haskellPackages.brittany # :lang haskell :editor format
+ # haskellPackages.brittany # :lang haskell :editor format # FIXME Dependency marked as broken.
haskellPackages.cabal-fmt # :lang haskell :editor format
haskellPackages.cabal-install # :lang haskell
haskellPackages.hoogle # :lang haskell
@@ -105,7 +105,7 @@ in {
(setq custom-file (file-name-concat doom-emacs-dir "custom.el"))
- Font must be set to n+2 because otherwise it looks too small.
+ ;; Font must be set to n+2 because otherwise it looks too small.
(setq doom-font (font-spec :family "${config.fontScheme.monospaceFont.family}"
:size ${toString (config.fontScheme.monospaceFont.size + 2)})
doom-unicode-font doom-font)
diff --git a/modules/nixfiles/emacs/doom/init.el b/modules/nixfiles/emacs/doom/init.el
index efb831e..4d7dd66 100644
--- a/modules/nixfiles/emacs/doom/init.el
+++ b/modules/nixfiles/emacs/doom/init.el
@@ -13,7 +13,7 @@
;; doom-dashboard
;; doom-quit
hl-todo
- ;; indent-guides
+ indent-guides
;; ligatures
;; modeline
;; nav-flash
@@ -25,7 +25,7 @@
(vc-gutter +diff-hl +pretty)
window-select
workspaces
- ;; zen
+ zen
:editor
(evil +everywhere)
@@ -58,10 +58,10 @@
;; grammar
:tools
- ;; ansible
+ ansible
(debugger +lsp)
direnv
- ;; (docker +lsp)
+ (docker +lsp)
editorconfig
(eval +overlay)
(lookup +dictionary +offline)
@@ -75,14 +75,15 @@
;; upload
:os
- (tty +osc)
+ (:if IS-MAC macos)
+ ;; (tty +osc)
:lang
(cc +lsp +tree-sitter)
- ;; (common-lisp +lsp +tree-sitter)
- ;; (csharp +lsp +tree-sitter)
+ (common-lisp +lsp +tree-sitter)
+ (csharp +lsp +tree-sitter)
data
- ;; (dhall +lsp +tree-sitter)
+ (dhall +lsp +tree-sitter)
(emacs-lisp +lsp +tree-sitter)
(go +lsp +tree-sitter)
;; graphql
@@ -90,17 +91,18 @@
(java +lsp +tree-sitter)
(javascript +lsp +tree-sitter)
json
+ (kotlin +lsp +tree-sitter)
(latex +lsp +tree-sittter)
- ;; (lua +lsp +tree-sitter)
+ (lua +lsp +tree-sitter)
(markdown +lsp +tree-sitter)
(nix +lsp)
(org +pandoc +roam2)
plantuml
(python +lsp +tree-sitter)
- ;; (racket +lsp +tree-sitter)
+ (racket +lsp +tree-sitter)
;; rst
- ;; (rust +lsp +tree-sitter)
- ;; (scheme +lsp +tree-sitter +racket)
+ (rust +lsp +tree-sitter)
+ (scheme +lsp +tree-sitter +racket)
(sh +lsp +tree-sitter)
web
yaml
diff --git a/modules/nixos/common/networking.nix b/modules/nixos/common/networking.nix
index 6109933..0c44159 100644
--- a/modules/nixos/common/networking.nix
+++ b/modules/nixos/common/networking.nix
@@ -5,104 +5,118 @@
this,
...
}:
-with lib; {
- # TODO Support multiple interfaces and IP addresses.
- networking = mkMerge [
- {
- domain = my.domain.shire;
+with lib; let
+ cfg = config.nixfiles.modules.common.networking;
+in {
+ options.nixfiles.modules.common.networking.onlyDefault =
+ mkEnableOption "custom networking settings";
- hostName = this.hostname;
- hostId = substring 0 8 (builtins.hashString "md5" this.hostname);
+ config = mkIf (!cfg.onlyDefault) {
+ # TODO Support multiple interfaces and IP addresses.
+ networking = mkMerge [
+ {
+ domain = my.domain.shire;
- # Remove default hostname mappings. This is required at least by the current
- # implementation of the montoring module.
- hosts = {
- "127.0.0.2" = mkForce [];
- "::1" = mkForce [];
- };
+ hostName = this.hostname;
+ hostId = substring 0 8 (builtins.hashString "md5" this.hostname);
- nameservers = mkDefault dns.const.quad9.default;
+ # Remove default hostname mappings. This is required at least by the current
+ # implementation of the montoring module.
+ hosts = {
+ "127.0.0.2" = mkForce [];
+ "::1" = mkForce [];
+ };
- useDHCP = false;
+ nameservers = mkDefault dns.const.quad9.default;
- firewall = {
- enable = true;
+ useDHCP = false;
- rejectPackets = false;
+ firewall = {
+ enable = true;
- allowPing = true;
- pingLimit = "--limit 1/minute --limit-burst 5";
+ rejectPackets = false;
- logRefusedConnections = false;
- logRefusedPackets = false;
- logRefusedUnicastsOnly = false;
- logReversePathDrops = false;
- };
- }
- (let
- interface = "eth0"; # This assumes `usePredictableInterfaceNames` is false.
- in
- mkIf (hasAttr "ipv4" this && hasAttr "ipv6" this) {
- usePredictableInterfaceNames = false; # NOTE This can break something!
- interfaces.${interface} = {
- ipv4.addresses = with this.ipv4;
- optional (isString address && isInt prefixLength) {
- inherit address prefixLength;
- };
+ allowPing = true;
+ pingLimit = "--limit 1/minute --limit-burst 5";
- ipv6.addresses = with this.ipv6;
- optional (isString address && isInt prefixLength) {
- inherit address prefixLength;
- };
+ logRefusedConnections = false;
+ logRefusedPackets = false;
+ logRefusedUnicastsOnly = false;
+ logReversePathDrops = false;
};
- defaultGateway = with this.ipv4;
- mkIf (isString gatewayAddress) {
- inherit interface;
- address = gatewayAddress;
- };
- defaultGateway6 = with this.ipv6;
- mkIf (isString gatewayAddress) {
- inherit interface;
- address = gatewayAddress;
+ }
+ (let
+ interface = "eth0"; # This assumes `usePredictableInterfaceNames` is false.
+ in
+ mkIf (hasAttr "ipv4" this && hasAttr "ipv6" this) {
+ usePredictableInterfaceNames = false; # NOTE This can break something!
+ interfaces.${interface} = {
+ ipv4.addresses = with this.ipv4;
+ optional (isString address && isInt prefixLength) {
+ inherit address prefixLength;
+ };
+
+ ipv6.addresses = with this.ipv6;
+ optional (isString address && isInt prefixLength) {
+ inherit address prefixLength;
+ };
};
- })
- (mkIf this.isHeadful {
- interfaces = {
- eth0.useDHCP = mkDefault true;
- wlan0.useDHCP = mkDefault true;
- };
+ defaultGateway = with this.ipv4;
+ mkIf (isString gatewayAddress) {
+ inherit interface;
+ address = gatewayAddress;
+ };
+ defaultGateway6 = with this.ipv6;
+ mkIf (isString gatewayAddress) {
+ inherit interface;
+ address = gatewayAddress;
+ };
+ })
+ (mkIf this.isHeadful {
+ interfaces = {
+ eth0.useDHCP = mkDefault true;
+ wlan0.useDHCP = mkDefault true;
+ };
- networkmanager = {
- enable = mkDefault true;
- wifi.backend = "iwd";
- };
+ networkmanager = {
+ enable = mkDefault true;
+ wifi.backend = "iwd";
+ };
- wireless = {
- enable = false;
- iwd.enable = mkDefault true;
- userControlled.enable = true;
- allowAuxiliaryImperativeNetworks = true;
- };
- })
- ];
+ wireless = {
+ enable = false;
+ iwd.enable = mkDefault true;
+ userControlled.enable = true;
+ allowAuxiliaryImperativeNetworks = true;
+ };
+ })
+ ];
- environment.shellAliases = listToAttrs (map
- ({
- name,
- value,
- }:
- nameValuePair name "${pkgs.iproute2}/bin/${value}") [
- {
- name = "bridge";
- value = "bridge -color=always";
- }
- {
- name = "ip";
- value = "ip -color=always";
- }
- {
- name = "tc";
- value = "tc -color=always";
- }
- ]);
+ environment = {
+ shellAliases = listToAttrs (map
+ ({
+ name,
+ value,
+ }:
+ nameValuePair name "${pkgs.iproute2}/bin/${value}") [
+ {
+ name = "bridge";
+ value = "bridge -color=always";
+ }
+ {
+ name = "ip";
+ value = "ip -color=always";
+ }
+ {
+ name = "tc";
+ value = "tc -color=always";
+ }
+ ]);
+
+ systemPackages = with pkgs; [
+ ethtool
+ nethogs
+ ];
+ };
+ };
}
diff --git a/modules/nixos/common/nix.nix b/modules/nixos/common/nix.nix
index 07136a0..71f62fd 100644
--- a/modules/nixos/common/nix.nix
+++ b/modules/nixos/common/nix.nix
@@ -22,8 +22,9 @@ in {
overlays = with inputs; [
agenix.overlay
- # nix-minecraft-servers.overlays.default
+ pollymc.overlay
xmonad-ng.overlays.default
+ # nix-minecraft-servers.overlays.default
];
};
diff --git a/modules/nixos/discord.nix b/modules/nixos/discord.nix
index 190b5fc..69ab525 100644
--- a/modules/nixos/discord.nix
+++ b/modules/nixos/discord.nix
@@ -15,7 +15,7 @@ in {
hm.home.packages = with pkgs; [
(discord.override {
- withOpenASAR = true;
+ withOpenASAR = false; # This doesnt work.
})
];
};
diff --git a/modules/nixos/emacs.nix b/modules/nixos/emacs.nix
index 800d411..2db8120 100644
--- a/modules/nixos/emacs.nix
+++ b/modules/nixos/emacs.nix
@@ -17,7 +17,7 @@ in {
nixfiles.modules.x11.enable = true;
hm = {
- programs.doom-emacs.extraConfig = ''
+ programs.doom-emacs.extraConfig = mkAfter ''
(appendq! auth-sources '("${config.secrets.authinfo.path}"))
'';
diff --git a/modules/nixos/games/minecraft.nix b/modules/nixos/games/minecraft.nix
index e53f9eb..7b21195 100644
--- a/modules/nixos/games/minecraft.nix
+++ b/modules/nixos/games/minecraft.nix
@@ -22,7 +22,7 @@ in {
config = mkMerge [
(mkIf cfg.client.enable {
- hm.home.packages = with pkgs; [pollymc];
+ hm.home.packages = with pkgs; [prismlauncher];
})
(mkIf cfg.server.enable {
# Configurations, opslist, whitelist and plugins are managed imperatively.
@@ -31,7 +31,7 @@ in {
enable = true;
eula = true;
- package = pkgs.minecraftServers.purpur_1_19_2;
+ package = pkgs.minecraftServers.purpur_1_19_3;
# TODO Make a PR fixing trailing whitespace on this.
jvmOpts =
diff --git a/modules/nixos/libvirtd.nix b/modules/nixos/libvirtd.nix
index ae8b336..58dfc50 100644
--- a/modules/nixos/libvirtd.nix
+++ b/modules/nixos/libvirtd.nix
@@ -10,6 +10,12 @@ in {
options.nixfiles.modules.libvirtd.enable = mkEnableOption "libvirtd";
config = mkIf cfg.enable {
+ hm.home.packages = with pkgs; [
+ qemu-utils
+ quickemu
+ virt-manager
+ ];
+
virtualisation.libvirtd = {
enable = true;
@@ -37,8 +43,6 @@ in {
};
};
- environment.systemPackages = with pkgs; [virt-manager qemu-utils];
-
my.extraGroups = ["libvirtd"];
};
}
diff --git a/modules/nixos/matrix/default.nix b/modules/nixos/matrix/default.nix
index bd221c4..879243e 100644
--- a/modules/nixos/matrix/default.nix
+++ b/modules/nixos/matrix/default.nix
@@ -1 +1,7 @@
-_: {imports = [./dendrite.nix ./element.nix ./synapse.nix];}
+_: {
+ imports = [
+ ./dendrite.nix
+ ./element.nix
+ ./synapse.nix
+ ];
+}
diff --git a/modules/nixos/profiles/dev/default.nix b/modules/nixos/profiles/dev/default.nix
index 83d41c0..8cb2356 100644
--- a/modules/nixos/profiles/dev/default.nix
+++ b/modules/nixos/profiles/dev/default.nix
@@ -8,6 +8,10 @@
with lib; let
cfg = config.nixfiles.modules.profiles.dev.default;
in {
+ imports = [
+ ./containers.nix
+ ];
+
config = mkIf cfg.enable {
hm.home.language = {
collate = "C";
diff --git a/modules/nixos/profiles/headful.nix b/modules/nixos/profiles/headful.nix
index d15f004..2d37b47 100644
--- a/modules/nixos/profiles/headful.nix
+++ b/modules/nixos/profiles/headful.nix
@@ -77,10 +77,7 @@ in {
psd.enable = true;
};
- environment.systemPackages = with pkgs; [
- ethtool
- nethogs
- ];
+ environment.systemPackages = with pkgs; [lm_sensors];
my.extraGroups = ["audio" "video" "input"];
};
diff --git a/nixosConfigurations/default.nix b/nixosConfigurations/default.nix
index 1ca634a..fe998cd 100644
--- a/nixosConfigurations/default.nix
+++ b/nixosConfigurations/default.nix
@@ -69,6 +69,7 @@ in
# A beefy desktop: 7950x/rx6750xt/128GB.
eonwe.modules = with inputs; [
nixos-hardware.nixosModules.common-cpu-amd
+ nixos-hardware.nixosModules.common-cpu-amd-pstate
nixos-hardware.nixosModules.common-gpu-amd
nixos-hardware.nixosModules.common-pc-ssd
nixpkgs.nixosModules.notDetected
diff --git a/nixosConfigurations/eonwe/default.nix b/nixosConfigurations/eonwe/default.nix
index a867837..f07aad3 100644
--- a/nixosConfigurations/eonwe/default.nix
+++ b/nixosConfigurations/eonwe/default.nix
@@ -15,6 +15,7 @@ with lib; {
games = {
lutris.enable = true;
+ minecraft.client.enable = true;
steam.enable = true;
};
android.enable = true;
@@ -25,8 +26,12 @@ with lib; {
};
hm.programs = {
- firefox.profiles.default.settings."media.ffmpeg.vaapi.enabled" = true;
+ # NOTE This produces very poor performance even though RX 6750 XT should
+ # handle VA-API hardware decoding for all major formats (including AV1) just
+ # fine.
+ firefox.profiles.default.settings."media.ffmpeg.vaapi.enabled" = false;
+ # Mostly just placebo. :^)
mpv.config = {
hwdec = "vdpau";
vo = "gpu";
@@ -34,6 +39,15 @@ with lib; {
};
};
+ # Usually stuff that is going to be compiled on this machine is going to have
+ # parallelisation support enabled, so we will make sure that all cores are
+ # utilised and limit the job queue to one.
+ nix.extraOptions = ''
+ keep-going = true
+ max-jobs = 1
+ cores = 32
+ '';
+
boot = {
# Silence benign MCE errors:
# ```
@@ -43,16 +57,26 @@ with lib; {
# ```
kernelParams = ["mce=nobootlog"];
- initrd.availableKernelModules = [
- "ahci"
- "nvme"
- "sd_mod"
- "usb_storage"
- "usbhid"
- "xhci_pci"
- ];
+ # The boot drive is Samsung SSD 980 PRO 2TB.
+ initrd.kernelModules = ["nvme"];
};
+ # TODO Immutable `/' shire on ZFS datasets and snapshots.
+ #
+ # Opt-in:
+ # - /etc/NetworkManager
+ # - /etc/ssh
+ # - /home
+ # - /var/lib/bluetooth
+ # - /var/lib/iwd
+ # - /var/lib/log
+ #
+ # Investigate:
+ # - /var/lib/NetworkManager
+ # - /var/lib/cni
+ # - /var/lib/containers
+ # - /var/lib/qemu
+
fileSystems = {
"/boot" = {
device = "/dev/disk/by-uuid/FF1E-9CFD";
@@ -66,7 +90,8 @@ with lib; {
};
};
- # No swap space is declared here because the system already has 128Gb of RAM.
- # I didn't manage to even hit 100Gb mark even when running large
- # computations/compiling something big.
+ # No swap space is declared here because the system already has 128Gb of RAM. :^)
+ # I've only manage to hit around 100Gb mark when running large
+ # computations/compiling something big. Pretty sure that a hefty chunk of it
+ # was just residual cache and it wouldn't make me get to OOM situations.
}
diff --git a/nixosConfigurations/iso/default.nix b/nixosConfigurations/iso/default.nix
index e435d0b..914fea9 100644
--- a/nixosConfigurations/iso/default.nix
+++ b/nixosConfigurations/iso/default.nix
@@ -7,6 +7,7 @@ with lib; {
secrets = mkForce {};
nixfiles.modules = {
+ common.networking.onlyDefault = true;
git.client.enable = true;
openssh = {
client.enable = true;
@@ -21,7 +22,5 @@ with lib; {
services.getty.autologinUser = mkForce my.username;
- environment.noXlibs = false;
-
nixpkgs.config.allowBroken = true;
}
diff --git a/nixosConfigurations/manwe/default.nix b/nixosConfigurations/manwe/default.nix
index b8dd324..a079579 100644
--- a/nixosConfigurations/manwe/default.nix
+++ b/nixosConfigurations/manwe/default.nix
@@ -52,10 +52,6 @@ with lib; {
};
initrd.availableKernelModules = [
- "ata_piix"
- "sd_mod"
- "sr_mod"
- "uhci_hcd"
"virtio_pci"
"virtio_scsi"
];
diff --git a/nixosConfigurations/melian/default.nix b/nixosConfigurations/melian/default.nix
index 3ba854c..d7563d7 100644
--- a/nixosConfigurations/melian/default.nix
+++ b/nixosConfigurations/melian/default.nix
@@ -13,6 +13,8 @@ with lib; {
bluetooth.enable = true;
throttled.enable = true;
+
+ android.enable = true;
};
hardware.trackpoint = {
@@ -26,13 +28,17 @@ with lib; {
in {
enable = true;
- # This fixes an issue with not being able to suspend or wake up from suspend
- # due to a kernel bug[1].
+ # This fixes an issue with not being able to suspend or wake up from
+ # suspend due to a kernel bug[1] which is still not fixed.
+ #
+ # I guess this can also be fixed differently[2], which does look a lot nicer
+ # but I just can't bother.
#
# [1]: https://bbs.archlinux.org/viewtopic.php?id=270964
# [1]: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/522998
# [1]: https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/562484/comments/3
# [1]: https://gist.github.com/ioggstream/8f380d398aef989ac455b93b92d42048
+ # [2]: https://linrunner.de/tlp/settings/runtimepm.html
powerDownCommands = "${modprobe} -r xhci_pci";
powerUpCommands = "${modprobe} xhci_pci";
};
@@ -40,7 +46,6 @@ with lib; {
services = {
thinkfan = {
enable = true;
-
settings = {
sensors = [
{
@@ -52,7 +57,7 @@ with lib; {
fans = [{tpacpi = "/proc/acpi/ibm/fan";}];
levels = [
["level auto" 0 50]
- ["level disengaged" 50 32767]
+ ["level disengaged" 50 32767] # This could annoy some people but IDGAF.
];
};
};
@@ -60,23 +65,10 @@ with lib; {
fwupd.enable = true;
};
- boot = {
- initrd = {
- availableKernelModules = [
- "ahci"
- "nvme"
- "sd_mod"
- "usb_storage"
- "usbhid"
- "xhci_pci"
- ];
-
- luks.devices."root" = {
- device = "/dev/disk/by-uuid/c1b46f24-eec0-47d2-a142-75ddfd7bb218";
- allowDiscards = true;
- bypassWorkqueues = true;
- };
- };
+ boot.initrd.luks.devices."root" = {
+ device = "/dev/disk/by-uuid/c1b46f24-eec0-47d2-a142-75ddfd7bb218";
+ allowDiscards = true;
+ bypassWorkqueues = true;
};
fileSystems = {
diff --git a/nixosConfigurations/varda/default.nix b/nixosConfigurations/varda/default.nix
index 5e0914e..f08194e 100644
--- a/nixosConfigurations/varda/default.nix
+++ b/nixosConfigurations/varda/default.nix
@@ -26,10 +26,6 @@ with lib; {
};
initrd.availableKernelModules = [
- "ata_piix"
- "sd_mod"
- "sr_mod"
- "uhci_hcd"
"virtio_pci"
"virtio_scsi"
];
diff --git a/nixosConfigurations/yavanna/default.nix b/nixosConfigurations/yavanna/default.nix
index e3172a6..d347c61 100644
--- a/nixosConfigurations/yavanna/default.nix
+++ b/nixosConfigurations/yavanna/default.nix
@@ -20,10 +20,18 @@ with lib; {
device = "/dev/sda";
};
- initrd = {
- availableKernelModules = ["uhci_hcd" "ahci"];
- kernelModules = ["nvme"];
- };
+ # NOTE This is probably not required, but I cannot test this out without
+ # risking "bricking" my VPS because Kimsufi/OVH doesn't provide a console
+ # access. This configuration was generated via nixos-infect[1] and at the
+ # time I didn't bother to test for loaded kernel modules and just left the
+ # automatically (IIRC) generated `hardware-configuration.nix' as is.
+ #
+ # There's, however, no indication that any NVME drives are being used and,
+ # as the matter of fact, the VPS itself is KVM-shire, so... I'm still not
+ # going to risk it.
+ #
+ # [1]: https://github.com/elitak/nixos-infect
+ initrd.availableKernelModules = ["nvme"];
};
fileSystems."/" = {