From a27c00c6ff082321526e3809a60ce3ead2abee95 Mon Sep 17 00:00:00 2001 From: "RingOfStorms (Joshua Bell)" Date: Mon, 29 Dec 2025 16:46:30 -0600 Subject: [PATCH] prepare new host juni --- hosts/juni/flake.nix | 166 ++++++++++++++++++++++++++ hosts/oren/hardware-configuration.nix | 1 + hosts/template.josh.nix | 137 --------------------- hosts/template.luser.nix | 110 ----------------- 4 files changed, 167 insertions(+), 247 deletions(-) create mode 100644 hosts/juni/flake.nix delete mode 100644 hosts/template.josh.nix delete mode 100644 hosts/template.luser.nix diff --git a/hosts/juni/flake.nix b/hosts/juni/flake.nix new file mode 100644 index 00000000..59e38f16 --- /dev/null +++ b/hosts/juni/flake.nix @@ -0,0 +1,166 @@ +{ + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; + home-manager.url = "github:rycee/home-manager/release-25.11"; + + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + + # Use relative to get current version for testin + # inputs.common.url = "path:../../flakes/common"; + inputs.common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/common"; + # secrets.url = "path:../../flakes/secrets"; + secrets.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/secrets"; + # flatpaks.url = "path:../../flakes/flatpaks"; + flatpaks.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/flatpaks"; + # beszel.url = "path:../../flakes/beszel"; + beszel.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/beszel"; + # de_plasma.url = "path:../../flakes/de_plasma"; + de_plasma.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/de_plasma"; + # opencode.url = "path:../../flakes/opencode"; + opencode.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/opencode"; + + ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim"; + }; + + outputs = + { + nixpkgs, + home-manager, + nixpkgs-unstable, + ... + }@inputs: + let + configuration_name = "juni"; + stateVersion = "25.11"; + primaryUser = "josh"; + lib = nixpkgs.lib; + in + { + nixosConfigurations = { + "${configuration_name}" = ( + lib.nixosSystem { + modules = [ + ({ + nixpkgs.overlays = [ + (final: prev: { + unstable = import nixpkgs-unstable { + inherit (final) system config; + }; + }) + ]; + }) + home-manager.nixosModules.default + + inputs.de_plasma.nixosModules.default + ({ + ringofstorms.dePlasma = { + enable = true; + gpu.amd.enable = true; + sddm.autologinUser = "josh"; + }; + }) + + # secrets.nixosModules.default + inputs.ros_neovim.nixosModules.default + ({ + ringofstorms-nvim.includeAllRuntimeDependencies = true; + }) + # inputs.opencode.nixosModules.default + + inputs.flatpaks.nixosModules.default + + inputs.common.nixosModules.essentials + inputs.common.nixosModules.git + inputs.common.nixosModules.tmux + inputs.common.nixosModules.boot_systemd + inputs.common.nixosModules.hardening + inputs.common.nixosModules.jetbrains_font + inputs.common.nixosModules.nix_options + # inputs.common.nixosModules.tailnet + inputs.common.nixosModules.timezone_auto + inputs.common.nixosModules.tty_caps_esc + inputs.common.nixosModules.zsh + + # beszel.nixosModules.agent + # ({ + # beszelAgent = { + # token = "f8a54c41-486b-487a-a78d-a087385c317b"; + # }; + # } + # ) + + ./configuration.nix + ./hardware-configuration.nix + ( + { config, pkgs, ... }: + rec { + # Home Manager + home-manager = { + useUserPackages = true; + useGlobalPkgs = true; + backupFileExtension = "bak"; + # add all normal users to home manager so it applies to them + users = lib.mapAttrs (name: user: { + home.stateVersion = stateVersion; + programs.home-manager.enable = true; + }) (lib.filterAttrs (name: user: user.isNormalUser or false) users.users); + + sharedModules = [ + inputs.common.homeManagerModules.tmux + inputs.common.homeManagerModules.atuin + inputs.common.homeManagerModules.direnv + inputs.common.homeManagerModules.kitty + inputs.common.homeManagerModules.git + inputs.common.homeManagerModules.postgres_cli_options + inputs.common.homeManagerModules.ssh + inputs.common.homeManagerModules.starship + inputs.common.homeManagerModules.zoxide + inputs.common.homeManagerModules.zsh + ( + { ... }: + { + programs.tmux.package = pkgs.unstable.tmux; + } + ) + ]; + }; + + # System configuration + system.stateVersion = stateVersion; + networking.hostName = configuration_name; + programs.nh.flake = "/home/${primaryUser}/.config/nixos-config/hosts/${config.networking.hostName}"; + nixpkgs.config.allowUnfree = true; + users.users = { + "${primaryUser}" = { + isNormalUser = true; + initialPassword = "password1"; + extraGroups = [ + "wheel" + "networkmanager" + "video" + "input" + ]; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH2KFSRkViT+asBTjCgA7LNP3SHnfNCW+jHbV08VUuIi nix2nix" + ]; + }; + }; + + environment.systemPackages = with pkgs; [ + vlc + google-chrome + ]; + + services.flatpak.packages = [ + "dev.vencord.Vesktop" + "com.spotify.Client" + "com.bitwarden.desktop" + ]; + } + ) + ]; + } + ); + }; + }; +} diff --git a/hosts/oren/hardware-configuration.nix b/hosts/oren/hardware-configuration.nix index 29fc7777..637eb399 100644 --- a/hosts/oren/hardware-configuration.nix +++ b/hosts/oren/hardware-configuration.nix @@ -56,4 +56,5 @@ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + hardware.inputmodule.enable = true; } diff --git a/hosts/template.josh.nix b/hosts/template.josh.nix deleted file mode 100644 index 162f164b..00000000 --- a/hosts/template.josh.nix +++ /dev/null @@ -1,137 +0,0 @@ -{ - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; - home-manager.url = "github:rycee/home-manager/release-25.05"; - - # Use relative to get current version for testing - # common.url = "path:../../flakes/common"; - common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/common"; - # secrets.url = "path:../../flakes/secrets"; - secrets.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/secrets"; - # flatpaks.url = "path:../../flakes/flatpaks"; - flatpaks.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/flatpaks"; - - ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim"; - }; - - outputs = - { - nixpkgs, - home-manager, - common, - secrets, - flatpaks, - ros_neovim, - ... - }: - let - configuration_name = "SYSTEM_NAME"; - stateVersion = "25.05"; - primaryUser = "josh"; - lib = nixpkgs.lib; - in - { - nixosConfigurations = { - "${configuration_name}" = ( - lib.nixosSystem { - modules = [ - home-manager.nixosModules.default - - secrets.nixosModules.default - ros_neovim.nixosModules.default - flatpaks.nixosModules.default - - common.nixosModules.essentials - common.nixosModules.git - common.nixosModules.tmux - common.nixosModules.boot_systemd - common.nixosModules.de_sway - common.nixosModules.hardening - common.nixosModules.jetbrains_font - common.nixosModules.nix_options - common.nixosModules.tailnet - common.nixosModules.timezone_auto - common.nixosModules.tty_caps_esc - common.nixosModules.zsh - ( - { - config, - pkgs, - upkgs, - lib, - ... - }: - rec { - # Home Manager - home-manager = { - useUserPackages = true; - useGlobalPkgs = true; - backupFileExtension = "bak"; - # add all normal users to home manager so it applies to them - users = lib.mapAttrs (name: user: { - home.stateVersion = stateVersion; - programs.home-manager.enable = true; - }) (lib.filterAttrs (name: user: user.isNormalUser or false) users.users); - - sharedModules = [ - common.homeManagerModules.de_sway - common.homeManagerModules.tmux - common.homeManagerModules.atuin - common.homeManagerModules.direnv - common.homeManagerModules.foot - common.homeManagerModules.git - common.homeManagerModules.postgres_cli_options - common.homeManagerModules.ssh - common.homeManagerModules.starship - common.homeManagerModules.zoxide - common.homeManagerModules.zsh - ]; - }; - - # System configuration - system.stateVersion = stateVersion; - networking.hostName = configuration_name; - programs.nh.flake = "/home/${primaryUser}/.config/nixos-config/hosts/${config.networking.hostName}"; - nixpkgs.config.allowUnfree = true; - users.users = { - "${primaryUser}" = { - isNormalUser = true; - initialPassword = "password1"; - extraGroups = [ - "wheel" - "networkmanager" - "video" - "input" - ]; - openssh.authorizedKeys.keys = [ - "REPLACE" - ]; - }; - }; - - environment.systemPackages = with pkgs; [ - lua - qdirstat - ffmpeg-full - vlc - google-chrome - ]; - - services.flatpak.packages = [ - "org.signal.Signal" - "dev.vencord.Vesktop" - "md.obsidian.Obsidian" - "com.spotify.Client" - "com.bitwarden.desktop" - "org.openscad.OpenSCAD" - "org.blender.Blender" - "com.rustdesk.RustDesk" - ]; - } - ) - ]; - } - ); - }; - }; -} diff --git a/hosts/template.luser.nix b/hosts/template.luser.nix deleted file mode 100644 index 791dd69a..00000000 --- a/hosts/template.luser.nix +++ /dev/null @@ -1,110 +0,0 @@ -{ - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; - home-manager.url = "github:rycee/home-manager/release-25.05"; - - # Use relative to get current version for testing - # common.url = "path:../../flakes/common"; - common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/common"; - # secrets.url = "path:../../flakes/secrets"; - secrets.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/secrets"; - - ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim"; - }; - - outputs = - { - nixpkgs, - home-manager, - common, - secrets, - ros_neovim, - ... - }: - let - configuration_name = "SYSTEM_NAME"; - stateVersion = "25.05"; - primaryUser = "luser"; - lib = nixpkgs.lib; - in - { - nixosConfigurations = { - "${configuration_name}" = ( - lib.nixosSystem { - modules = [ - home-manager.nixosModules.default - - secrets.nixosModules.default - ros_neovim.nixosModules.default - - common.nixosModules.essentials - common.nixosModules.git - common.nixosModules.tmux - common.nixosModules.boot_systemd - common.nixosModules.hardening - common.nixosModules.jetbrains_font - common.nixosModules.nix_options - common.nixosModules.tailnet - common.nixosModules.timezone_auto - common.nixosModules.tty_caps_esc - common.nixosModules.zsh - ( - { - config, - pkgs, - upkgs, - lib, - ... - }: - rec { - # Home Manager - home-manager = { - useUserPackages = true; - useGlobalPkgs = true; - backupFileExtension = "bak"; - # add all normal users to home manager so it applies to them - users = lib.mapAttrs (name: user: { - home.stateVersion = stateVersion; - programs.home-manager.enable = true; - }) (lib.filterAttrs (name: user: user.isNormalUser or false) users.users); - - sharedModules = [ - common.homeManagerModules.tmux - common.homeManagerModules.atuin - common.homeManagerModules.direnv - common.homeManagerModules.git - common.homeManagerModules.postgres_cli_options - common.homeManagerModules.ssh - common.homeManagerModules.starship - common.homeManagerModules.zoxide - common.homeManagerModules.zsh - ]; - }; - - # System configuration - system.stateVersion = stateVersion; - networking.hostName = configuration_name; - programs.nh.flake = "/home/${primaryUser}/.config/nixos-config/hosts/${config.networking.hostName}"; - nixpkgs.config.allowUnfree = true; - users.users = { - "${primaryUser}" = { - isNormalUser = true; - initialPassword = "password1"; - extraGroups = [ - "wheel" - "networkmanager" - "input" - ]; - openssh.authorizedKeys.keys = [ - "REPLACE" - ]; - }; - }; - } - ) - ]; - } - ); - }; - }; -}