From e8487933eca1836c909b1856d1b65b4556c85108 Mon Sep 17 00:00:00 2001 From: Gabriella Bere Date: Tue, 3 Jun 2025 15:59:15 +0100 Subject: [PATCH 1/5] moved a lot from system.packages to home.packages forgot i hadnt done this yet very useful though, home-manager is probably now ready to use without the rest of this nixos config --- home-manager/home.nix | 22 +++++++++++++++++++--- modules/packages.nix | 25 ------------------------- 2 files changed, 19 insertions(+), 28 deletions(-) diff --git a/home-manager/home.nix b/home-manager/home.nix index 3b03b9a..a29588f 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -39,18 +39,34 @@ nautilus # File manager (move to option maybe) element-desktop # Matrix client stable.jetbrains.idea-community # IDE - reaper # Paid DAW, using free trial telegram-desktop # Telegram messenger client pavucontrol # Useful audio control GUI stable.prismlauncher # Minecraft launcher virt-manager # QEMU manager bat # cat but with syntax highlighting bc # terminal calculator + wget # download files + vesktop # discord client + thunderbird # email client + fastfetch # silly specs display + ungoogled-chromium # useful when a website breaks in firefox + qbittorrent # torrent client + zip # lets you zip files + unzip # lets you unzip files + vlc # media player + vial # gui for qmk stuff + qmk # qmk configurator + wl-clipboard # command-line copy/paste + lutris # game launcher + tenacity # small DAW + davinci-resolve # video editor + libreoffice # office suite + nixfmt-rfc-style # nix code formatter # Audio Plugins calf zam-plugins - lsp-plugins + lsp-plugins # not language servers, its an audio thing trust me ardour # DAW gimp3 # GNU Image Manipulation Program, pretty self explanatory @@ -63,7 +79,7 @@ ]; home.sessionVariables = { - DEFAULT_BROWSER = "${lib.getExe pkgs.firefox}"; + DEFAULT_BROWSER = "${lib.getExe pkgs.floorp}"; # Allow XWayland apps to not be weird after turning off xwayland scaling in hyprland.conf GDK_SCALE = 1; XCURSOR_SIZE = 24; diff --git a/modules/packages.nix b/modules/packages.nix index 9a7d90f..8def7dd 100644 --- a/modules/packages.nix +++ b/modules/packages.nix @@ -1,21 +1,9 @@ { - config, - lib, pkgs, ... }: { # All system packages required from nixos-unstable by default environment.systemPackages = with pkgs; [ - neovim # nano is installed by default - wget - vesktop - thunderbird - kdePackages.bluedevil - fastfetch - ungoogled-chromium - qbittorrent - p7zip - unrar wineWowPackages.stable wine (wine.override {wineBuild = "wine64";}) @@ -23,21 +11,8 @@ wineWowPackages.staging winetricks wineWowPackages.waylandFull - vlc - protonmail-bridge pciutils - vial - qmk dmidecode - wl-clipboard - lutris - tree - tenacity - home-manager - davinci-resolve - v4l-utils - libreoffice - nixfmt-rfc-style nixd qemu ]; From f482d6f06b4f094c64d0a7fdee8fe2a9f013a9f0 Mon Sep 17 00:00:00 2001 From: Gabriella Bere Date: Tue, 3 Jun 2025 16:10:04 +0100 Subject: [PATCH 2/5] added nixfmt-tree as formatter also ran it, which is why so many files were modified --- flake.nix | 160 ++++++++++++++------------- home-manager/direnv.nix | 3 +- home-manager/eza.nix | 2 +- home-manager/firefox.nix | 3 +- home-manager/home.nix | 5 +- home-manager/hyprland.nix | 5 +- home-manager/hyprlock.nix | 3 +- home-manager/nvf.nix | 3 +- home-manager/obs-studio.nix | 15 +-- home-manager/stylix.nix | 5 +- home-manager/waybar.nix | 5 +- home-manager/zellij.nix | 3 +- hosts/gabbielaptop/configuration.nix | 16 ++- modules/packages.nix | 5 +- 14 files changed, 125 insertions(+), 108 deletions(-) diff --git a/flake.nix b/flake.nix index 6688b8d..84b4635 100644 --- a/flake.nix +++ b/flake.nix @@ -52,64 +52,67 @@ musnix.url = "github:musnix/musnix"; }; - outputs = { - self, - nixpkgs-stable, - nixpkgs, - nixpkgs-master, - nur, - home-manager, - ... - } @ inputs: let - system = "x86_64-linux"; - pkgs = import nixpkgs { - inherit system; - config = {allowUnfree = true;}; - overlays = [ - overlay-stable - overlay-master - nur.overlays.default + outputs = + { + self, + nixpkgs-stable, + nixpkgs, + nixpkgs-master, + nur, + home-manager, + ... + }@inputs: + let + system = "x86_64-linux"; + pkgs = import nixpkgs { + inherit system; + config = { + allowUnfree = true; + }; + overlays = [ + overlay-stable + overlay-master + nur.overlays.default + ]; + }; + genericModules = [ + { + nix.registry.nixos.flake = inputs.self; + environment.etc."nix/inputs/nixpkgs".source = nixpkgs.outPath; + nix.nixPath = [ "nixpkgs=${nixpkgs.outPath}" ]; + } ]; - }; - genericModules = [ - { - nix.registry.nixos.flake = inputs.self; - environment.etc."nix/inputs/nixpkgs".source = nixpkgs.outPath; - nix.nixPath = ["nixpkgs=${nixpkgs.outPath}"]; - } - ]; - genericHomeModule = [ - { - nix.registry.nixos.flake = inputs.self; - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - } - ]; - # Overlay definitions - # nixpkgs-unstable - overlay-stable = final: prev: { - stable = import nixpkgs-stable { + genericHomeModule = [ + { + nix.registry.nixos.flake = inputs.self; + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + } + ]; + # Overlay definitions + # nixpkgs-unstable + overlay-stable = final: prev: { + stable = import nixpkgs-stable { + inherit system; + config.allowUnfree = true; + }; + }; + # nixpkgs-master + overlay-master = final: prev: { + master = import nixpkgs-master { + inherit system; + config.allowUnfree = true; + }; + }; + in + { + nixosConfigurations.gabbielaptop = nixpkgs.lib.nixosSystem { inherit system; - config.allowUnfree = true; - }; - }; - # nixpkgs-master - overlay-master = final: prev: { - master = import nixpkgs-master { - inherit system; - config.allowUnfree = true; - }; - }; - in { - nixosConfigurations.gabbielaptop = nixpkgs.lib.nixosSystem { - inherit system; - inherit pkgs; - specialArgs = { - inherit inputs; - }; - modules = - genericModules - ++ [ + inherit pkgs; + specialArgs = { + inherit inputs; + }; + modules = genericModules ++ [ # Import nixos modules here ./hosts/gabbielaptop/configuration.nix ./modules/nh.nix @@ -122,36 +125,35 @@ # inputs.stylix.nixosModules.stylix # inputs.home-manager.nixosModules.home-manager # inputs.nixvim.homeManagerModules.nixvim - {nix.settings = inputs.aagl.nixConfig;} # Setup cachix for aagl projects + { nix.settings = inputs.aagl.nixConfig; } # Setup cachix for aagl projects # { home-manager.users.blue = ./home-manager/home.nix; } ]; - }; - nixosConfigurations.biggerpi = nixpkgs.lib.nixosSystem { - inherit system; - inherit pkgs; - modules = - genericModules - ++ [ + }; + nixosConfigurations.biggerpi = nixpkgs.lib.nixosSystem { + inherit system; + inherit pkgs; + modules = genericModules ++ [ inputs.disko.nixosModules.disko inputs.satisfactory-server.nixosModules.satisfactory ./hosts/biggerpi/configuration.nix ./modules/satisfactory-server.nix ]; - }; - - # Standalone home-manager config - homeConfigurations.blue = home-manager.lib.homeManagerConfiguration { - inherit pkgs; - extraSpecialArgs = { - inherit inputs; }; - # Import home-manager modules here - modules = [ - ./home-manager/home.nix - inputs.nvf.homeManagerModules.default - inputs.stylix.homeModules.stylix - inputs.nix-flatpak.homeManagerModules.nix-flatpak - ]; + + # Standalone home-manager config + homeConfigurations.blue = home-manager.lib.homeManagerConfiguration { + inherit pkgs; + extraSpecialArgs = { + inherit inputs; + }; + # Import home-manager modules here + modules = [ + ./home-manager/home.nix + inputs.nvf.homeManagerModules.default + inputs.stylix.homeModules.stylix + inputs.nix-flatpak.homeManagerModules.nix-flatpak + ]; + }; + formatter.${system} = nixpkgs.legacyPackages.${system}.nixfmt-tree; }; - }; } diff --git a/home-manager/direnv.nix b/home-manager/direnv.nix index 7009e89..0f7a873 100644 --- a/home-manager/direnv.nix +++ b/home-manager/direnv.nix @@ -1,4 +1,5 @@ -{config, ...}: { +{ ... }: +{ programs.direnv = { enable = true; enableZshIntegration = true; diff --git a/home-manager/eza.nix b/home-manager/eza.nix index 92ac4e2..c244b8c 100644 --- a/home-manager/eza.nix +++ b/home-manager/eza.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ ... }: { programs.eza = { enable = true; diff --git a/home-manager/firefox.nix b/home-manager/firefox.nix index 72aae8f..3b9d0e9 100644 --- a/home-manager/firefox.nix +++ b/home-manager/firefox.nix @@ -1,4 +1,5 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ programs.floorp = { enable = true; profiles.blue = { diff --git a/home-manager/home.nix b/home-manager/home.nix index a29588f..3263d5e 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -2,7 +2,8 @@ pkgs, lib, ... -}: { +}: +{ home.username = "blue"; home.homeDirectory = "/home/blue"; @@ -70,7 +71,7 @@ ardour # DAW gimp3 # GNU Image Manipulation Program, pretty self explanatory - + networkmanagerapplet # Tray icon for managing networking blueman # Tray icon for managing bluetooth ]; diff --git a/home-manager/hyprland.nix b/home-manager/hyprland.nix index ae0d311..0baa2da 100644 --- a/home-manager/hyprland.nix +++ b/home-manager/hyprland.nix @@ -1,9 +1,10 @@ -{...}: { +{ ... }: +{ # Enable Hyprland compositor wayland.windowManager.hyprland = { enable = true; xwayland.enable = true; - systemd.variables = ["--all"]; + systemd.variables = [ "--all" ]; settings = { misc = { enable_anr_dialog = false; diff --git a/home-manager/hyprlock.nix b/home-manager/hyprlock.nix index f25c29a..eb282cc 100644 --- a/home-manager/hyprlock.nix +++ b/home-manager/hyprlock.nix @@ -1,4 +1,5 @@ -{pkgs, lib, ... }: { +{ pkgs, lib, ... }: +{ programs.hyprlock = { enable = true; settings = { diff --git a/home-manager/nvf.nix b/home-manager/nvf.nix index 31d6410..061e535 100644 --- a/home-manager/nvf.nix +++ b/home-manager/nvf.nix @@ -2,7 +2,8 @@ config, pkgs, ... -}: { +}: +{ programs.nvf = { enable = true; settings = { diff --git a/home-manager/obs-studio.nix b/home-manager/obs-studio.nix index 5ffba50..47177e6 100644 --- a/home-manager/obs-studio.nix +++ b/home-manager/obs-studio.nix @@ -1,8 +1,9 @@ -{pkgs, ...}: { - programs.obs-studio = { - enable = true; - plugins = with pkgs.obs-studio-plugins; [ - obs-pipewire-audio-capture - ]; - }; +{ pkgs, ... }: +{ + programs.obs-studio = { + enable = true; + plugins = with pkgs.obs-studio-plugins; [ + obs-pipewire-audio-capture + ]; + }; } diff --git a/home-manager/stylix.nix b/home-manager/stylix.nix index 7badabc..e78fee9 100644 --- a/home-manager/stylix.nix +++ b/home-manager/stylix.nix @@ -1,4 +1,5 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ stylix = { enable = true; base16Scheme = "${pkgs.base16-schemes}/share/themes/heetch.yaml"; @@ -31,7 +32,7 @@ }; polarity = "dark"; targets = { - floorp.profileNames = ["blue"]; + floorp.profileNames = [ "blue" ]; }; }; } diff --git a/home-manager/waybar.nix b/home-manager/waybar.nix index 4024c9b..ffb5f86 100644 --- a/home-manager/waybar.nix +++ b/home-manager/waybar.nix @@ -1,4 +1,5 @@ -{config, ...}: { +{ config, ... }: +{ programs.waybar = { enable = true; systemd.enable = true; # using these instead of exec-once beacuse SOME packages (swaync) dont let you disable them @@ -7,7 +8,7 @@ layer = "top"; position = "top"; height = 30; - modules-left = ["hyprland/workspaces"]; + modules-left = [ "hyprland/workspaces" ]; modules-center = [ "clock" "custom/swaync" diff --git a/home-manager/zellij.nix b/home-manager/zellij.nix index 8130c6a..54978c2 100644 --- a/home-manager/zellij.nix +++ b/home-manager/zellij.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ programs.zellij = { enable = true; enableZshIntegration = true; diff --git a/hosts/gabbielaptop/configuration.nix b/hosts/gabbielaptop/configuration.nix index d348d8c..35e18ff 100644 --- a/hosts/gabbielaptop/configuration.nix +++ b/hosts/gabbielaptop/configuration.nix @@ -3,7 +3,8 @@ pkgs, config, ... -}: { +}: +{ imports = [ ./hardware-configuration.nix ]; @@ -26,9 +27,9 @@ ]; }; - boot.initrd.kernelModules = ["amdgpu"]; - boot.extraModulePackages = [config.boot.kernelPackages.v4l2loopback]; - boot.kernelModules = ["v4l2loopback"]; + boot.initrd.kernelModules = [ "amdgpu" ]; + boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ]; + boot.kernelModules = [ "v4l2loopback" ]; boot.kernelPackages = pkgs.linuxPackages_latest; networking.hostName = "gabbielaptop"; # Define your hostname. @@ -36,7 +37,7 @@ hardware.graphics = { enable = true; enable32Bit = true; - extraPackages = [pkgs.stable.rocmPackages.clr.icd]; # Needed for davinci-resolve to utilize the gpu, otherwise it refuses to launch + extraPackages = [ pkgs.stable.rocmPackages.clr.icd ]; # Needed for davinci-resolve to utilize the gpu, otherwise it refuses to launch }; # Enable networking networking.networkmanager.enable = true; @@ -72,7 +73,10 @@ }; programs.regreet = { enable = true; - cageArgs = ["-m" "last"]; + cageArgs = [ + "-m" + "last" + ]; }; # Enable the Hyprland WM functionality for NixOS (xdg portals etc.) diff --git a/modules/packages.nix b/modules/packages.nix index 8def7dd..80f794f 100644 --- a/modules/packages.nix +++ b/modules/packages.nix @@ -1,12 +1,13 @@ { pkgs, ... -}: { +}: +{ # All system packages required from nixos-unstable by default environment.systemPackages = with pkgs; [ wineWowPackages.stable wine - (wine.override {wineBuild = "wine64";}) + (wine.override { wineBuild = "wine64"; }) wine64 wineWowPackages.staging winetricks From a0da51f4397ae59eef824edd8fb9ac3c836fc055 Mon Sep 17 00:00:00 2001 From: Gabriella Bere Date: Tue, 3 Jun 2025 16:12:04 +0100 Subject: [PATCH 3/5] cleared up some comments in flake.nix --- flake.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index 84b4635..ba998fb 100644 --- a/flake.nix +++ b/flake.nix @@ -122,11 +122,7 @@ inputs.aagl.nixosModules.default inputs.lanzaboote.nixosModules.lanzaboote inputs.musnix.nixosModules.musnix - # inputs.stylix.nixosModules.stylix - # inputs.home-manager.nixosModules.home-manager - # inputs.nixvim.homeManagerModules.nixvim { nix.settings = inputs.aagl.nixConfig; } # Setup cachix for aagl projects - # { home-manager.users.blue = ./home-manager/home.nix; } ]; }; nixosConfigurations.biggerpi = nixpkgs.lib.nixosSystem { @@ -154,6 +150,7 @@ inputs.nix-flatpak.homeManagerModules.nix-flatpak ]; }; + # set formatter, using nixfmt-tree here formatter.${system} = nixpkgs.legacyPackages.${system}.nixfmt-tree; }; } From e3220cae9b00cba608a408be88e3e289269ce7f9 Mon Sep 17 00:00:00 2001 From: Gabriella Bere Date: Tue, 3 Jun 2025 16:19:56 +0100 Subject: [PATCH 4/5] moved home.packages and flatpaks to their own file now in home-manager/packages.nix --- home-manager/home.nix | 52 +------------------------------------- home-manager/nextcloud.nix | 2 +- 2 files changed, 2 insertions(+), 52 deletions(-) diff --git a/home-manager/home.nix b/home-manager/home.nix index 3263d5e..580f153 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -22,63 +22,13 @@ ./firefox.nix ./zellij.nix ./obs-studio.nix + ./packages.nix ]; home.stateVersion = "24.05"; services.gnome-keyring.enable = true; # used for nextcloud-client - # General use home packages that dont require a separate module - home.packages = with pkgs; [ - grimblast # Screenshot tool - powerline-fonts # Fonts - nix-output-monitor # Provides a dependency graph for nix builds - bitwarden-desktop # Integrates with bitwarden extension - wofi # Wayland app launcher - nvtopPackages.amd # GPU monitor, more detailed than BTOP-rocm - signal-desktop # Signal messenger client - nautilus # File manager (move to option maybe) - element-desktop # Matrix client - stable.jetbrains.idea-community # IDE - telegram-desktop # Telegram messenger client - pavucontrol # Useful audio control GUI - stable.prismlauncher # Minecraft launcher - virt-manager # QEMU manager - bat # cat but with syntax highlighting - bc # terminal calculator - wget # download files - vesktop # discord client - thunderbird # email client - fastfetch # silly specs display - ungoogled-chromium # useful when a website breaks in firefox - qbittorrent # torrent client - zip # lets you zip files - unzip # lets you unzip files - vlc # media player - vial # gui for qmk stuff - qmk # qmk configurator - wl-clipboard # command-line copy/paste - lutris # game launcher - tenacity # small DAW - davinci-resolve # video editor - libreoffice # office suite - nixfmt-rfc-style # nix code formatter - - # Audio Plugins - calf - zam-plugins - lsp-plugins # not language servers, its an audio thing trust me - - ardour # DAW - gimp3 # GNU Image Manipulation Program, pretty self explanatory - - networkmanagerapplet # Tray icon for managing networking - blueman # Tray icon for managing bluetooth - ]; - services.flatpak.packages = [ - "io.mrarm.mcpelauncher" # Minecraft bedrock edition launcher - ]; - home.sessionVariables = { DEFAULT_BROWSER = "${lib.getExe pkgs.floorp}"; # Allow XWayland apps to not be weird after turning off xwayland scaling in hyprland.conf diff --git a/home-manager/nextcloud.nix b/home-manager/nextcloud.nix index b900f48..19201c8 100644 --- a/home-manager/nextcloud.nix +++ b/home-manager/nextcloud.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{...}: { services.nextcloud-client = { enable = true; From 85567863cea9cc9b4727f6e719e8348503cc10ed Mon Sep 17 00:00:00 2001 From: Gabriella Bere Date: Tue, 3 Jun 2025 16:20:25 +0100 Subject: [PATCH 5/5] added packages.nix to git forgot oops --- home-manager/packages.nix | 51 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 home-manager/packages.nix diff --git a/home-manager/packages.nix b/home-manager/packages.nix new file mode 100644 index 0000000..17bc696 --- /dev/null +++ b/home-manager/packages.nix @@ -0,0 +1,51 @@ +{pkgs, ...}:{ + # packages that i dont need to use a module for + home.packages = with pkgs; [ + grimblast # Screenshot tool + powerline-fonts # Fonts + nix-output-monitor # Provides a dependency graph for nix builds + bitwarden-desktop # Integrates with bitwarden extension + wofi # Wayland app launcher + nvtopPackages.amd # GPU monitor, more detailed than BTOP-rocm + signal-desktop # Signal messenger client + nautilus # File manager (move to option maybe) + element-desktop # Matrix client + stable.jetbrains.idea-community # IDE + telegram-desktop # Telegram messenger client + pavucontrol # Useful audio control GUI + stable.prismlauncher # Minecraft launcher + virt-manager # QEMU manager + bat # cat but with syntax highlighting + bc # terminal calculator + wget # download files + vesktop # discord client + thunderbird # email client + fastfetch # silly specs display + ungoogled-chromium # useful when a website breaks in firefox + qbittorrent # torrent client + zip # lets you zip files + unzip # lets you unzip files + vlc # media player + vial # gui for qmk stuff + qmk # qmk configurator + wl-clipboard # command-line copy/paste + lutris # game launcher + tenacity # small DAW + davinci-resolve # video editor + libreoffice # office suite + + # Audio Plugins + calf + zam-plugins + lsp-plugins # not language servers, its an audio thing trust me + + ardour # DAW + gimp3 # GNU Image Manipulation Program, pretty self explanatory + + networkmanagerapplet # Tray icon for managing networking + blueman # Tray icon for managing bluetooth + ]; + services.flatpak.packages = [ + "io.mrarm.mcpelauncher" # Minecraft bedrock edition launcher + ]; +}