From f7490a1be6444b1c0844052b51c6b0336d727113 Mon Sep 17 00:00:00 2001 From: "RingOfStorms (Joshua Bell)" Date: Thu, 2 Jan 2025 01:57:09 -0600 Subject: [PATCH] add gp3pocket3 new flake system --- hosts/gpdPocket3/configuration.nix | 23 ---- hosts/gpdPocket3/flake.nix | 114 +++++++++++++++++++- hosts/gpdPocket3/hardware-configuration.nix | 45 +++++--- hosts_old/gpdPocket3/configuration.nix | 2 +- 4 files changed, 145 insertions(+), 39 deletions(-) diff --git a/hosts/gpdPocket3/configuration.nix b/hosts/gpdPocket3/configuration.nix index 4254430b..ad1d7355 100644 --- a/hosts/gpdPocket3/configuration.nix +++ b/hosts/gpdPocket3/configuration.nix @@ -2,32 +2,9 @@ config, lib, pkgs, - settings, ... }: { - imports = [ - # Users this machine has - (settings.usersDir + "/root/configuration.nix") - (settings.usersDir + "/josh/configuration.nix") - ]; - - # My custom modules - mods = { - boot_systemd.enable = true; - shell_common.enable = true; - de_cosmic.enable = true; - neovim.enable = true; - tty_caps_esc.enable = true; - docker.enable = true; - fonts.enable = true; - stormd.enable = true; - nebula.enable = true; - ssh.enable = true; - rustdesk.enable = true; - }; - - # machine specific configuration # ============================== hardware.enableAllFirmware = true; diff --git a/hosts/gpdPocket3/flake.nix b/hosts/gpdPocket3/flake.nix index 46409041..a9f82c50 100644 --- a/hosts/gpdPocket3/flake.nix +++ b/hosts/gpdPocket3/flake.nix @@ -1 +1,113 @@ -# TODO +{ + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; + + mod_common.url = "git+https://git.joshuabell.xyz/dotfiles?ref=mod_common"; + mod_common.inputs.nixpkgs.follows = "nixpkgs"; + mod_boot_systemd.url = "git+https://git.joshuabell.xyz/dotfiles?ref=mod_boot_systemd"; + mod_de_cosmic.url = "git+https://git.joshuabell.xyz/dotfiles?ref=mod_de_cosmic"; + mod_de_cosmic.inputs.nixpkgs-stable.follows = "nixpkgs"; + mod_de_cosmic.inputs.nixpkgs.follows = "nixpkgs"; + mod_ros_neovim.url = "git+https://git.joshuabell.xyz/dotfiles?ref=mod_neovim"; + mod_ros_stormd.url = "git+https://git.joshuabell.xyz/dotfiles?ref=mod_stormd"; + mod_nebula.url = "git+https://git.joshuabell.xyz/dotfiles?ref=mod_nebula"; + mod_home-manager.url = "git+https://git.joshuabell.xyz/dotfiles?ref=mod_home_manager"; + mod_home-manager.inputs.home-manager.url = "github:rycee/home-manager/release-24.11"; + mod_home-manager.inputs.nixpkgs.follows = "nixpkgs"; + }; + + outputs = + { + nixpkgs, + ... + }@inputs: + let + configuration_name = "oren"; + lib = nixpkgs.lib; + in + { + nixosConfigurations = { + "${configuration_name}" = + let + auto_modules = builtins.concatMap ( + input: + lib.optionals + (builtins.hasAttr "nixosModules" input && builtins.hasAttr "default" input.nixosModules) + [ + input.nixosModules.default + ] + ) (builtins.attrValues inputs); + in + (lib.nixosSystem { + modules = [ + ./configuration.nix + ./hardware-configuration.nix + ( + { pkgs, ... }: + { + imports = [ + ../../components/nix/lua.nix + ../../components/nix/rust-repl.nix + ../../components/nix/qdirstat.nix + ]; + mods = { + common = { + systemName = configuration_name; + allowUnfree = true; + primaryUser = "josh"; + docker = true; + zsh = true; + users = { + josh = { + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILMzgAe4od9K4EsvH2g7xjNU7hGoJiFJlYcvB0BoDCvn nix2oren" + ]; + initialPassword = "password1"; + isNormalUser = true; + extraGroups = [ + "wheel" + "networkmanager" + "video" + "input" + ]; + shell = pkgs.zsh; + packages = with pkgs; [ + google-chrome + discordo + discord + firefox-esr + vlc + ]; + }; + }; + }; + home_manager = { + users = { + josh = { + imports = [ + ../../components/hm/tmux/tmux.nix + ../../components/hm/alacritty.nix + ../../components/hm/atuin.nix + ../../components/hm/direnv.nix + ../../components/hm/git.nix + ../../components/hm/nix_deprecations.nix + ../../components/hm/postgres.nix + ../../components/hm/ssh.nix + ../../components/hm/starship.nix + ../../components/hm/zoxide.nix + ../../components/hm/zsh.nix + ]; + }; + }; + }; + }; + } + ) + ] ++ auto_modules; + specialArgs = { + inherit inputs; + }; + }); + }; + }; +} diff --git a/hosts/gpdPocket3/hardware-configuration.nix b/hosts/gpdPocket3/hardware-configuration.nix index 081d5539..ab176249 100644 --- a/hosts/gpdPocket3/hardware-configuration.nix +++ b/hosts/gpdPocket3/hardware-configuration.nix @@ -1,29 +1,46 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: +{ + config, + lib, + modulesPath, + ... +}: { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.availableKernelModules = [ + "xhci_pci" + "thunderbolt" + "nvme" + "usbhid" + "usb_storage" + "sd_mod" + ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; - fileSystems."/boot" = - { device = "/dev/disk/by-label/NIXBOOT"; - fsType = "vfat"; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-label/NIXBOOT"; + fsType = "vfat"; + }; - fileSystems."/" = - { device = "/dev/disk/by-label/NIXROOT"; - fsType = "ext4"; - }; + fileSystems."/" = { + device = "/dev/disk/by-label/NIXROOT"; + fsType = "ext4"; + }; - swapDevices = [ ]; + swapDevices = [ + { + device = "/.swapfile"; + size = 16 * 1024; # 16GB + } + ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's diff --git a/hosts_old/gpdPocket3/configuration.nix b/hosts_old/gpdPocket3/configuration.nix index 4254430b..d29781ba 100644 --- a/hosts_old/gpdPocket3/configuration.nix +++ b/hosts_old/gpdPocket3/configuration.nix @@ -24,7 +24,7 @@ stormd.enable = true; nebula.enable = true; ssh.enable = true; - rustdesk.enable = true; + rustdesk.enable = true; # removed };