diff --git a/:p b/:p deleted file mode 100644 index e69de29..0000000 diff --git a/flake.nix b/flake.nix index 95c8f41..5e3f869 100644 --- a/flake.nix +++ b/flake.nix @@ -54,8 +54,6 @@ home-manager-unstable.url = "github:nix-community/home-manager"; home-manager-unstable.inputs.nixpkgs.follows = "nixpkgs-unstable"; - hardware.url = "github:NixOS/nixos-hardware"; - disko.url = "github:nix-community/disko/master"; disko.inputs.nixpkgs.follows = "nixpkgs"; @@ -70,21 +68,23 @@ slippi.inputs.nixpkgs.follows = "nixpkgs-unstable"; slippi.inputs.home-manager.follows = "home-manager-unstable"; + jovian.url = "github:Jovian-Experiments/Jovian-NixOS/development"; + # jovian.inputs.nixpkgs.follows = "nixpkgs-unstable"; + + # other inputs + hardware.url = "github:NixOS/nixos-hardware"; + # nnf.url = "github:thelegy/nixos-nftables-firewall"; + # inputs with their own cache I want to use helix.url = "github:helix-editor/helix/master"; # helix.inputs.nixpkgs.follows = "nixpkgs-unstable"; - jovian.url = "github:Jovian-Experiments/Jovian-NixOS/development"; - # jovian.inputs.nixpkgs.follows = "nixpkgs-unstable"; - ghostty.url = "github:ghostty-org/ghostty"; # ghostty.inputs.nixpkgs-unstable.follows = "nixpkgs-unstable"; # ghostty.inputs.nixpkgs-stable.follows = "nixpkgs"; deploy-rs.url = "github:serokell/deploy-rs"; # deploy-rs.inputs.nixpkgs.follows = "nixpkgs-unstable"; - - # nnf.url = "github:thelegy/nixos-nftables-firewall"; }; nixConfig = { 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..7855d3f 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 { }; + liveImage = 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; + }; + } + ]; + } ./live.nix { }; + # arm-dragon = host ./dragon.nix { system = "aarch64-linux"; }; } diff --git a/packages/hosts/live.nix b/packages/hosts/live.nix new file mode 100644 index 0000000..c915eb0 --- /dev/null +++ b/packages/hosts/live.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; + }; + }; + }; +}