grace/dots
dotfiles/nix configs
git clone https://git.gae.moe/grace/dots
c1be8e3
main
1{ 2config , 3lib , 4pkgs , 5modulesPath , 6 ... 7} : 8 9{ 10imports = [ 11../modules/users.nix 12../modules/tailscale.nix 13../modules/terminal.nix 14]; 15 16hardware . enableAllHardware = true ; 17hardware . enableRedistributableFirmware = true ; 18 19boot . loader = { 20systemd-boot = { 21enable = true ; 22configurationLimit = 10 ; 23}; 24efi = { 25canTouchEfiVariables = false ; 26efiSysMountPoint = "/boot" ; 27}; 28}; 29 30networking = { 31hostName = "portable" ; 32networkmanager . enable = true ; 33}; 34 35environment . sessionVariables . NIX_HOST = "portable" ; 36nix . settings . experimental-features = [ 37"nix-command" 38"flakes" 39]; 40 41services . openssh = { 42enable = true ; 43openFirewall = true ; 44settings = { 45PermitRootLogin = "no" ; 46PasswordAuthentication = false ; 47KbdInteractiveAuthentication = false ; 48}; 49}; 50 51services . cage = { 52enable = true ; 53user = "grace" ; 54extraArguments = [ "-s" ]; 55program = pkgs . writeShellScript "portable-terminal" '' 56exec ${ pkgs . foot } /bin/foot --config=/etc/foot/foot.ini 57'' ; 58}; 59 60services . getty . autologinUser = lib . mkDefault "grace" ; 61users . users . grace . initialHashedPassword = lib . mkDefault "" ; 62 63system . disableInstallerTools = false ; 64environment . systemPackages = with pkgs ; [ 65parted 66dosfstools 67e2fsprogs 68]; 69 70system . stateVersion = "26.05" ; 71 72system . build . usbImage = import ( modulesPath + "/../lib/make-disk-image.nix" ) { 73inherit config lib pkgs ; 74name = "nixos-portable-usb" ; 75baseName = "nixos-portable" ; 76format = "raw" ; 77partitionTableType = "efi" ; 78bootSize = "1024M" ; 79diskSize = "auto" ; 80additionalSpace = "2G" ; 81label = "nixos-portable" ; 82memSize = 2048 ; 83 84contents = [ 85{ 86source = lib . cleanSourceWith { 87src = ../. ; 88filter = 89path :type : 90let 91name = baseNameOf path ; 92in 93! ( builtins . elem name [ ".jj" ] || lib . hasPrefix "result" name ); 94}; 95target = "/etc/nixos" ; 96mode = "u+w" ; 97} 98]; 99}; 100}