diff --git a/lib/default.nix b/lib/default.nix index 53b1659..44b8ac5 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -25,5 +25,10 @@ rec { else relPath; - inherit (import ./host.nix inputs) host stableHost steamdeckHost; + inherit (import ./host.nix inputs) + host + stableHost + steamdeckHost + baseHost + ; } diff --git a/lib/host.nix b/lib/host.nix index 7fe69d2..87344a7 100644 --- a/lib/host.nix +++ b/lib/host.nix @@ -37,6 +37,7 @@ let ); in { + inherit baseHost; stableHost = baseHost { inherit (inputs) nixpkgs home-manager; }; host = baseHost { nixpkgs = inputs.nixpkgs-unstable; diff --git a/packages/hosts/default.nix b/packages/hosts/default.nix index 9b66269..72ed16f 100644 --- a/packages/hosts/default.nix +++ b/packages/hosts/default.nix @@ -1,6 +1,11 @@ inputs: let - inherit (inputs.self.flakeLib) host stableHost steamdeckHost; + inherit (inputs.self.flakeLib) + host + stableHost + steamdeckHost + baseHost + ; in { beefcake = stableHost ./beefcake.nix { }; @@ -19,5 +24,25 @@ in generic-headless = stableHost ./generic-headless.nix { }; generic = stableHost ./generic.nix { }; + liveIso = baseHost rec { + nixpkgs = inputs.nixpkgs-unstable; + home-manager = inputs.home-manager-unstable; + extraModules = [ + (nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix") + { + system.stateVersion = "25.05"; + networking.hostName = "live-nixos-lyte"; + networking.networkmanager.enable = false; + + lyte.shell.enable = true; + lyte.desktop.enable = true; + home-manager.users.daniel = { + lyte.shell.enable = true; + lyte.desktop.enable = true; + }; + } + ]; + } ./iso.nix { }; + # arm-dragon = host ./dragon.nix { system = "aarch64-linux"; }; } diff --git a/packages/hosts/iso.nix b/packages/hosts/iso.nix new file mode 100644 index 0000000..c915eb0 --- /dev/null +++ b/packages/hosts/iso.nix @@ -0,0 +1 @@ +{ ... }: { } diff --git a/packages/hosts/steamdeck.nix b/packages/hosts/steamdeck.nix index 19f6960..f758114 100644 --- a/packages/hosts/steamdeck.nix +++ b/packages/hosts/steamdeck.nix @@ -5,8 +5,9 @@ }: { system.stateVersion = "24.11"; + networking = { - hostName = "dragon"; + hostName = "steamdeck"; wifi.enable = true; }; diff --git a/packages/hosts/steamdeckoled.nix b/packages/hosts/steamdeckoled.nix new file mode 100644 index 0000000..f758114 --- /dev/null +++ b/packages/hosts/steamdeckoled.nix @@ -0,0 +1,61 @@ +{ + diskoConfigurations, + # hardware, # do NOT use nixos-hardware with jovian config + ... +}: +{ + system.stateVersion = "24.11"; + + networking = { + hostName = "steamdeck"; + wifi.enable = true; + }; + + hardware.bluetooth.enable = true; + boot = { + # kernelPackages = pkgs.linuxPackages_latest; # do NOT use with jovian config + loader = { + efi.canTouchEfiVariables = true; + systemd-boot.enable = true; + }; + }; + imports = [ + (diskoConfigurations.unencrypted { disk = "/dev/nvme0n1"; }) + ]; + + lyte.desktop.enable = true; + home-manager.users.daniel = { + lyte = { + useOutOfStoreSymlinks.enable = true; + shell = { + enable = true; + learn-jujutsu-not-git.enable = true; + }; + desktop.enable = true; + }; + }; + + nixpkgs.config.allowUnfree = true; + programs.steam.enable = true; + jovian = { + decky-loader = { + enable = true; + }; + steam = { + autoStart = true; + updater = { + splash = "jovian"; + }; + }; + hardware = { + has.amd.gpu = true; + }; + devices = { + steamdeck = { + enable = true; + autoUpdate = true; + # enableGyroDsuService = true; + }; + }; + }; +}