nix machine / user configurations

stuff

+38 -31
+9 -4
flake.nix
··· 13 13 }; 14 14 15 15 outputs = inputs: let 16 - lib = (import ./lib inputs.nixos.lib).extend (_: lib: rec { 16 + lib = inputs.nixos.lib.extend (_: _: builtins); 17 + tlib = (import ./lib lib).extend (_: prev: rec { 17 18 makePkgs = system: 18 19 import ./pkgs-set { 19 20 inherit system lib; 21 + tlib = prev; 20 22 stable = inputs.nixos; 21 23 unstable = inputs.latest; 22 24 }; 23 - genPkgs = f: lib.genSystems (system: f (makePkgs system)); 25 + genPkgs = f: prev.genSystems (system: f (makePkgs system)); 24 26 }); 25 27 in rec { 26 - nixosConfigurations = import ./hosts {inherit lib inputs;}; 27 - devShells = import ./shells {inherit lib inputs;}; 28 + nixosConfigurations = import ./hosts {inherit lib tlib inputs;}; 29 + 30 + packages = tlib.genPkgs (pkgs: pkgs._exported); 31 + 32 + devShells = import ./shells {inherit lib tlib inputs;}; 28 33 devShell = lib.mapAttrs (_: value: value.default) devShells; 29 34 }; 30 35 }
+11 -13
hosts/default.nix
··· 1 1 { 2 2 inputs, 3 3 lib, 4 + tlib, 5 + ... 4 6 }: let 5 7 baseModules = [ 6 8 ../modules ··· 10 12 ]; 11 13 12 14 mkSystem = name: system: let 13 - pkgs = lib.makePkgs system; 15 + pkgs = tlib.makePkgs system; 14 16 in 15 17 lib.nixosSystem { 16 18 inherit system; 17 19 modules = 18 20 baseModules 19 21 ++ [ 20 - { 21 - nixpkgs = { 22 - inherit pkgs; 23 - }; 24 - } 22 + {nixpkgs.pkgs = pkgs;} 25 23 (import (./. + "/${name}/default.nix")) 26 24 ]; 27 - specialArgs = { 28 - inherit inputs; 29 - tlib = lib; 30 - }; 25 + specialArgs = {inherit inputs tlib;}; 31 26 }; 32 - in { 33 - lungmen = mkSystem "lungmen" "x86_64-linux"; 34 - } 27 + 28 + systems = { 29 + lungmen = "x86_64-linux"; 30 + }; 31 + in 32 + lib.mapAttrs mkSystem systems
+1 -1
hosts/lungmen/default.nix
··· 176 176 }; 177 177 178 178 environment = { 179 - systemPackages = [btrfsDiff]; 179 + systemPackages = [btrfsDiff pkgs.ntfs3g]; 180 180 pathsToLink = ["/share/zsh"]; 181 181 persistence."/persist" = { 182 182 directories = ["/etc/nixos"];
+2 -2
lib/default.nix
··· 1 1 lib: 2 - (lib.extend (_: _: builtins)).extend (_: lib: rec { 2 + lib.makeExtensible (self: { 3 3 defaultSystems = import ./systems.nix; 4 - genSystems = lib.genAttrs defaultSystems; 4 + genSystems = lib.genAttrs self.defaultSystems; 5 5 6 6 pkgBin = pkgs: id: 7 7 if lib.isString id
-1
modules/base/default.nix
··· 48 48 git 49 49 lm_sensors 50 50 mkpasswd 51 - ntfs3g 52 51 zoxide 53 52 bottom 54 53 amber
+5
pkgs-set/default.nix
··· 3 3 unstable, 4 4 system, 5 5 lib, 6 + ... 6 7 }: let 7 8 overlays = 8 9 lib.mapAttrsToList ··· 17 18 config.allowUnfree = true; 18 19 overlays = [(_: _: import ./from-unstable.nix unstablePkgs)] ++ overlays; 19 20 }; 21 + pkgsToExport = import ./pkgs-to-export.nix; 20 22 in 21 23 pkgs 24 + // { 25 + _exported = lib.getAttrs pkgsToExport pkgs; 26 + }
+1
pkgs-set/pkgs-to-export.nix
··· 1 + []
+3 -3
shells/default.nix
··· 1 - {lib, ...}: 2 - lib.genPkgs (pkgs: { 1 + {tlib, ...}: 2 + tlib.genPkgs (pkgs: { 3 3 default = with pkgs; 4 4 mkShell { 5 5 name = "prts"; 6 - buildInputs = [git git-crypt]; 6 + buildInputs = [git git-crypt alejandra helix]; 7 7 shellHook = "echo \"$(tput bold)welcome to PRTS, $USER$(tput sgr0)\""; 8 8 }; 9 9 })
+6 -7
users/patriot/default.nix
··· 87 87 }; 88 88 }; 89 89 }; 90 - systemd.user.services.gnome-session-restart-dbus.serviceConfig = {Slice = "-.slice";}; 91 90 systemd = { 92 - targets = {network-online.enable = false;}; 91 + targets.network-online.enable = false; 93 92 services = { 94 93 systemd-networkd-wait-online.enable = false; 95 94 NetworkManager-wait-online.enable = false; ··· 223 222 }; 224 223 fonts = [fontComb]; 225 224 extraEnv = '' 226 - export SDL_VIDEODRIVER=wayland 225 + # export SDL_VIDEODRIVER=wayland 227 226 # needs qt5.qtwayland in systemPackages 228 227 export QT_QPA_PLATFORM=wayland 229 228 #export QT_WAYLAND_DISABLE_WINDOWDECORATION="1" ··· 521 520 envExtra = extraEnv; 522 521 loginExtra = '' 523 522 if [ "$(${pkgs.coreutils}/bin/tty)" = "/dev/tty1" ]; then 524 - exec sway 523 + exec sway 525 524 fi 526 525 ''; 527 526 initExtra = '' ··· 529 528 export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) 530 529 531 530 function tomp4 () { 532 - ${pkgs.ffmpeg}/bin/ffmpeg -i $1 -c:v libx264 -preset slow -crf 30 -c:a aac -b:a 128k "$1.mp4" 531 + ${pkgBin "ffmpeg"} -i $1 -c:v libx264 -preset slow -crf 30 -c:a aac -b:a 128k "$1.mp4" 533 532 } 534 533 535 534 function topng () { 536 - ${pkgs.ffmpeg}/bin/ffmpeg -i $1 "$1.png" 535 + ${pkgBin "ffmpeg"} -i $1 "$1.png" 537 536 } 538 537 539 538 bindkey "$terminfo[kRIT5]" forward-word ··· 546 545 nixosConfig.environment.shellAliases 547 546 // { 548 547 harmony-ssh = '' 549 - ${pkgs.mosh}/bin/mosh root@chat.harmonyapp.io 548 + ${pkgBin "mosh"} root@chat.harmonyapp.io 550 549 ''; 551 550 }; 552 551 };