my over complex system configurations dotfiles.isabelroses.com/
nixos nix flake dotfiles linux
9
fork

Configure Feed

Select the types of activity you want to include in your feed.

iso: modernize

a lot of the options were already set upstream and if they were not they
have been upstreamed since

isabel 88bae2d1 74beae99

+18 -75
-6
modules/iso/image.nix
··· 35 35 # maximum compression, in exchange for build speed 36 36 squashfsCompression = "zstd -Xcompression-level 19"; 37 37 38 - # ISO image should be an EFI-bootable volume 39 - makeEfiBootable = true; 40 - 41 - # ISO image should be bootable from USB 42 - makeUsbBootable = true; 43 - 44 38 # remove "-installer" boot menu label 45 39 appendToMenuLabel = ""; 46 40
-10
modules/iso/networking.nix
··· 3 3 inherit (lib) mkForce; 4 4 in 5 5 { 6 - # use networkmanager in the live environment 7 - networking.networkmanager = { 8 - enable = true; 9 - # we don't want any plugins, they only takeup space 10 - # you might consider adding some if you need a VPN for example 11 - plugins = [ ]; 12 - }; 13 - 14 - networking.wireless.enable = mkForce false; 15 - 16 6 # allow ssh into the system for headless installs 17 7 systemd.services.sshd.wantedBy = mkForce [ "multi-user.target" ]; 18 8 users.users.root.openssh.authorizedKeys.keys = [
-3
modules/iso/nix.nix
··· 7 7 # we can disable channels since we can just use the flake 8 8 channel.enable = false; 9 9 10 - # we need to have nixpkgs in our path 11 - nixPath = [ "nixpkgs=${config.nix.registry.nixpkgs.to.path}" ]; 12 - 13 10 settings = { 14 11 # these are the bare minimum settings required to get my nixos config working 15 12 experimental-features = [
+4 -1
modules/iso/nixpkgs.nix
··· 9 9 10 10 overlays = [ 11 11 (_: prev: { 12 - nixVersions.stable = config.nix.package; 12 + nixVersions = prev.nixVersions // { 13 + stable = config.nix.package; 14 + }; 15 + 13 16 nixForLinking = prev.nixVersions.stable; 14 17 }) 15 18 ];
+2 -17
modules/iso/programs.nix
··· 1 - { 2 - lib, 3 - pkgs, 4 - self', 5 - ... 6 - }: 1 + { pkgs, self', ... }: 7 2 { 8 3 # disable all installer tools and only bring the ones that we explicitly need 9 4 # for installing or debugging ··· 21 16 programs.git.package = pkgs.gitMinimal; 22 17 23 18 # needed packages for the installer 24 - environment.systemPackages = lib.attrValues { 25 - inherit (pkgs) 26 - vim # we are not installing neovim here so we have a light dev environment 27 - pciutils # going to need this for lspci 28 - ; 29 - 30 - inherit (self'.packages) iztaller; 31 - }; 32 - 33 - # provide all hardware drivers, including proprietary ones 34 - hardware.enableRedistributableFirmware = true; 19 + environment.systemPackages = [ self'.packages.iztaller ]; 35 20 }
+12 -38
modules/iso/space.nix
··· 1 1 { lib, ... }: 2 2 let 3 - inherit (lib) mkForce mkDefault; 3 + inherit (lib) mkForce; 4 4 in 5 5 { 6 6 # disable documentation 7 7 documentation = { 8 - enable = mkDefault false; 9 - doc.enable = mkDefault false; 10 - info.enable = mkDefault false; 11 - }; 12 - 13 - # we don't need this, plus it adds extra programs to the iso 14 - services = { 15 - logrotate.enable = false; 16 - udisks2.enable = false; 17 - }; 18 - 19 - # disable fontConfig 20 - fonts.fontconfig.enable = mkForce false; 21 - 22 - # disable containers as it also pulls in pearl 23 - boot.enableContainers = false; 24 - 25 - programs = { 26 - # disable less as it pulls in pearl 27 - less.lessopen = null; 28 - 29 - # disable command-not-found and other similar programs 30 - command-not-found.enable = false; 31 - }; 8 + enable = mkForce false; 9 + dev.enable = mkForce false; 10 + doc.enable = mkForce false; 11 + info.enable = mkForce false; 12 + nixos.enable = mkForce false; 32 13 33 - # Use environment options, minimal profile 34 - environment = { 35 - # we don't really need this warning on the minimal profile 36 - stub-ld.enable = mkForce false; 37 - 38 - # no packages other, other then the ones I provide 39 - defaultPackages = [ ]; 14 + man = { 15 + enable = false; 16 + man-db.enable = false; 17 + }; 40 18 }; 41 19 42 - xdg = { 43 - autostart.enable = false; 44 - icons.enable = false; 45 - mime.enable = false; 46 - sounds.enable = false; 47 - }; 20 + # don't include nixpkgs in our iso 21 + system.installer.channel.enable = false; 48 22 }