{ description = "nipsy's NixOS configurations"; inputs = { disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; #ghostty = { # url = "github:ghostty-org/ghostty"; #}; home-manager-stable = { url = "github:nix-community/home-manager/release-24.05"; inputs.nixpkgs.follows = "nixpkgs-stable"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; nixos-hardware.url = "github:nixos/nixos-hardware"; # per https://nixos-and-flakes.thiscute.world/nixos-with-flakes/downgrade-or-upgrade-packages #nixpkgs-67e692392.url = "github:nixos/nixpkgs/67e69239226f37168d1adb8d29bd61150756a03e"; nixpkgs-master.url = "github:nixos/nixpkgs"; #nixpkgs-pr369712.url = "github:7c6f434c/nixpkgs/fix-tftp-hpa"; nixpkgs-stable.url = "github:nixos/nixpkgs/release-24.05"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nvidia-patch = { url = "github:icewind1991/nvidia-patch-nixos"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { disko, home-manager-stable, home-manager, nixos-hardware, nixpkgs-master, #nixpkgs-pr369712, nixpkgs-stable, nixpkgs, nvidia-patch, self, sops-nix, ... } @ inputs: let inherit (self) outputs; systems = [ #"aarch64-linux" #"i686-linux" "x86_64-linux" #"aarch64-darwin" #"x86_64-darwin" ]; forAllSystems = nixpkgs.lib.genAttrs systems; in { nixosConfigurations = { arrakis = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs outputs; }; modules = [ #{ # environment.systemPackages = [ # ghostty.packages.x86_64-linux.default # ]; #} #({ config, pkgs, ... }: # let # overlay-dict-pr367392 = final: prev: { # dict = nixpkgs-pr367392.legacyPackages."x86_64-linux".dict; # }; # in { # nixpkgs.overlays = [ overlay-dict-pr367392 ]; # } #) disko.nixosModules.disko ./hosts/arrakis home-manager.nixosModules.home-manager { home-manager.sharedModules = [ sops-nix.homeManagerModules.sops ]; home-manager.users.root = import ./home/root/arrakis.nix; home-manager.users.nipsy = import ./home/nipsy/arrakis.nix; } sops-nix.nixosModules.sops ]; }; darkstar = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs outputs; }; modules = [ disko.nixosModules.disko ./hosts/darkstar home-manager.nixosModules.home-manager { #home-manager.sharedModules = [ sops-nix.homeManagerModules.sops ]; home-manager.users.root = import ./home/root/darkstar.nix; home-manager.users.nipsy = import ./home/nipsy/darkstar.nix; } sops-nix.nixosModules.sops ]; }; ginaz = nixpkgs.lib.nixosSystem rec { specialArgs = { inherit inputs outputs; }; modules = [ disko.nixosModules.disko ./hosts/ginaz home-manager.nixosModules.home-manager { home-manager.sharedModules = [ sops-nix.homeManagerModules.sops ]; home-manager.users.root = import ./home/root/ginaz.nix; home-manager.users.nipsy = import ./home/nipsy/ginaz.nix; } nixos-hardware.nixosModules.lenovo-yoga-7-14ARH7-amdgpu sops-nix.nixosModules.sops ]; }; # from https://nixos.wiki/wiki/Creating_a_NixOS_live_CD and https://chengeric.com/homelab/ iso = nixpkgs.lib.nixosSystem { modules = [ ({ modulesPath, pkgs, ... }: { environment.systemPackages = with pkgs; [ acl bash bc bzip2 conntrack-tools coreutils cpio curl diffutils dig dmidecode elinks encfs ethtool expect file findutils fio fping git gnugrep gnupatch gnused gnutar gptfdisk gzip htop iotop ipcalc iperf iproute2 iputils jq less lshw lsof lvm2 moreutils nano netcat-openbsd nettools nmap ntfs3g openldap openssl p7zip parted pciutils procps progress psmisc pv pwgen recode rsync sg3_utils smartmontools socat speedtest-cli sqlite sshfs strace sysstat tcpdump tftp-hpa traceroute tree tshark unixtools.xxd unrar unzip usbutils util-linux vim wdiff wget whois wireguard-tools xz zip ]; imports = [ (modulesPath + "/installer/cd-dvd/installation-cd-minimal.nix") ]; #isoImage.squashfsCompression = "gzip -Xcompression-level 1"; nix.settings.experimental-features = [ "nix-command" "flakes" ]; nixpkgs.config.allowUnfree = true; services.openssh = { enable = true; openFirewall = true; settings = { PasswordAuthentication = false; KbdInteractiveAuthentication = false; }; }; users.users = { nixos.openssh.authorizedKeys.keys = [ (builtins.readFile ./hosts/common/users/nipsy/keys/id_arrakis.pub) ]; root.openssh.authorizedKeys.keys = [ (builtins.readFile ./hosts/common/users/nipsy/keys/id_arrakis.pub) ]; }; }) ]; system = "x86_64-linux"; }; kaitain = nixpkgs.lib.nixosSystem rec { specialArgs = { inherit inputs outputs; }; modules = [ disko.nixosModules.disko ./hosts/kaitain home-manager.nixosModules.home-manager { #home-manager.sharedModules = [ sops-nix.homeManagerModules.sops ]; home-manager.users.root = import ./home/root/kaitain.nix; home-manager.users.nipsy = import ./home/nipsy/kaitain.nix; } sops-nix.nixosModules.sops ]; }; jupiter = nixpkgs.lib.nixosSystem rec { specialArgs = { inherit inputs outputs; }; modules = [ disko.nixosModules.disko ./hosts/jupiter home-manager.nixosModules.home-manager { #home-manager.sharedModules = [ sops-nix.homeManagerModules.sops ]; home-manager.users.root = import ./home/root/jupiter.nix; home-manager.users.nipsy = import ./home/nipsy/jupiter.nix; } #sops-nix.nixosModules.sops ]; }; neptune = nixpkgs.lib.nixosSystem rec { specialArgs = { inherit inputs outputs; }; modules = [ disko.nixosModules.disko ./hosts/neptune home-manager.nixosModules.home-manager { #home-manager.sharedModules = [ sops-nix.homeManagerModules.sops ]; home-manager.users.root = import ./home/root/neptune.nix; home-manager.users.nipsy = import ./home/nipsy/neptune.nix; } #sops-nix.nixosModules.sops ]; }; netboot = nixpkgs.lib.nixosSystem { modules = [ "${nixpkgs}/nixos/modules/installer/netboot/netboot-minimal.nix" ({ #isoImage.squashfsCompression = "gzip -Xcompression-level 1"; nix.settings.experimental-features = [ "nix-command" "flakes" ]; users.users = { nixos.openssh.authorizedKeys.keys = [ (builtins.readFile ./hosts/common/users/nipsy/keys/id_arrakis.pub) ]; root.openssh.authorizedKeys.keys = [ (builtins.readFile ./hosts/common/users/nipsy/keys/id_arrakis.pub) ]; }; }) ]; system = "x86_64-linux"; }; richese = nixpkgs.lib.nixosSystem rec { specialArgs = { inherit inputs outputs; }; modules = [ disko.nixosModules.disko ./hosts/richese home-manager.nixosModules.home-manager { #home-manager.sharedModules = [ sops-nix.homeManagerModules.sops ]; home-manager.users.root = import ./home/root/richese.nix; home-manager.users.nipsy = import ./home/nipsy/richese.nix; } sops-nix.nixosModules.sops ]; }; saturn = nixpkgs.lib.nixosSystem rec { specialArgs = { inherit inputs outputs; }; modules = [ disko.nixosModules.disko ./hosts/saturn home-manager.nixosModules.home-manager { #home-manager.sharedModules = [ sops-nix.homeManagerModules.sops ]; home-manager.users.root = import ./home/root/saturn.nix; home-manager.users.nipsy = import ./home/nipsy/saturn.nix; } #sops-nix.nixosModules.sops ]; }; uranus = nixpkgs.lib.nixosSystem rec { specialArgs = { inherit inputs outputs; }; modules = [ disko.nixosModules.disko ./hosts/uranus home-manager.nixosModules.home-manager { #home-manager.sharedModules = [ sops-nix.homeManagerModules.sops ]; home-manager.users.root = import ./home/root/uranus.nix; home-manager.users.nipsy = import ./home/nipsy/uranus.nix; } #sops-nix.nixosModules.sops ]; }; }; overlays = import ./overlays {inherit inputs;}; packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system}); }; }