diff --git a/configuration.nix b/configuration.nix index 50d013e..40205bb 100644 --- a/configuration.nix +++ b/configuration.nix @@ -8,16 +8,6 @@ ./secrets.nix ]; - # Users - users.users."guz" = { - useDefaultShell = true; - isNormalUser = true; - - hashedPasswordFile = builtins.toString config.sops.secrets."guz/password".path; - extraGroups = ["wheel" "guz"]; - }; - users.groups."guz" = {}; - # GnuPG keyring programs.gnupg.agent = { enable = true; diff --git a/flake.nix b/flake.nix index b24aee3..85e5794 100644 --- a/flake.nix +++ b/flake.nix @@ -52,7 +52,7 @@ # Home manager NixOS module homeNixOSModules = [ home-manager.nixosModules.home-manager - ./home.nix + ./colors.nix ]; in { nixosConfigurations = { @@ -62,7 +62,8 @@ homeNixOSModules ++ [ ./hosts/battleship/configuration.nix - ./hosts/battleship/home.nix + inputs.stylix.nixosModules.stylix + ./home/guz/configuration.nix ]; }; "fighter" = nixpkgs.lib.nixosSystem { @@ -71,18 +72,30 @@ homeNixOSModules ++ [ ./hosts/fighter/configuration.nix - ./hosts/fighter/home.nix + inputs.stylix.nixosModules.stylix + ./home/guz-lite/configuration.nix ]; }; }; homeConfigurations = { + "guz-lite" = home-manager.lib.homeManagerConfiguration { + extraSpecialArgs = {inherit inputs self;}; + modules = [ + inputs.stylix.homeManagerModules.stylix + ./colors.nix + inputs.xremap.homeManagerModules.default + ./home/guz-lite + ]; + pkgs = import nixpkgs {system = "x86_64-linux";}; + }; "guz" = home-manager.lib.homeManagerConfiguration { extraSpecialArgs = {inherit inputs self;}; modules = [ inputs.stylix.homeManagerModules.stylix ./colors.nix - ./home + inputs.xremap.homeManagerModules.default + ./home/guz ]; pkgs = import nixpkgs {system = "x86_64-linux";}; }; diff --git a/home.nix b/home.nix deleted file mode 100644 index 5c2a274..0000000 --- a/home.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - inputs, - pkgs, - self, - ... -}: { - # Home-manager configurations for when it is used as a NixOS module. - imports = [ - inputs.stylix.nixosModules.stylix - ./colors.nix - ]; - - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.backupFileExtension = "bkp"; - home-manager.extraSpecialArgs = {inherit inputs self;}; - home-manager.users.guz = import ./home; - - programs.zsh.enable = true; - users.users."guz".shell = pkgs.zsh; - -} diff --git a/home/guz-lite/apps.nix b/home/guz-lite/apps.nix new file mode 100644 index 0000000..b942932 --- /dev/null +++ b/home/guz-lite/apps.nix @@ -0,0 +1,47 @@ +{pkgs, ...}: { + xdg.mimeApps.enable = true; + xdg.mimeApps.defaultApplications = let + browser = "zen.desktop"; + email = "thunderbird.desktop"; + in { + "text/html" = browser; + "x-scheme-handler/http" = browser; + "x-scheme-handler/https" = browser; + "x-scheme-handler/about" = browser; + "x-scheme-handler/unknown" = browser; + + "message/rfc822" = email; + "x-scheme-handler/mailto" = email; + "text/calendar" = email; + "text/x-vcard" = email; + }; + + # Zen Browser (Main browser) + programs.zen-browser.enable = true; + + # Brave (Work browser) + programs.chromium.enable = true; + programs.chromium.package = pkgs.brave; + # programs.chromium.extensions = let + # libredirect = builtins.fetchurl { + # url = "https://github.com/libredirect/browser_extension/releases/download/v3.1.0/libredirect-3.1.0.crx"; + # sha256 = "sha256:003q48gzyr282yk1l267myx4ba8dfb656lpxspx2gjhqmfdz9g8b"; + # }; + # in [ + programs.chromium.extensions = [ + {id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";} # Dark Reader + {id = "oldceeleldhonbafppcapldpdifcinji";} # Language Tool + # { + # id = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; # TODO: Find correct id + # version = "3.1.0"; + # crxPath = libredirect; + # } # Libredirect + {id = "edibdbjcniadpccecjdfdjjppcpchdlm";} # I still don't care about cookies + {id = "dphilobhebphkdjbpfohgikllaljmgbn";} # SimpleLogin + {id = "cbghhgpcnddeihccjmnadmkaejncjndb";} # Vencord + ]; + + # Thunderbird (Email client) + programs.thunderbird.enable = true; + programs.thunderbird.profiles = {}; +} diff --git a/home/guz-lite/configuration.nix b/home/guz-lite/configuration.nix new file mode 100644 index 0000000..1d0236b --- /dev/null +++ b/home/guz-lite/configuration.nix @@ -0,0 +1,32 @@ +{ + config, + inputs, + pkgs, + self, + ... +}: { + # Users + users.users."guz" = { + useDefaultShell = true; + isNormalUser = true; + + hashedPasswordFile = builtins.toString config.sops.secrets."guz/password".path; + extraGroups = ["wheel" "guz"]; + }; + users.groups."guz" = {}; + + # Home-manager configurations for when it is used as a NixOS module. + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.backupFileExtension = "bkp"; + home-manager.extraSpecialArgs = {inherit inputs self;}; + home-manager.users.guz = import ./default.nix; + + programs.zsh.enable = true; + users.users."guz".shell = pkgs.zsh; + + # Xremap run-as-user + hardware.uinput.enable = true; + users.groups.uinput.members = ["guz"]; + users.groups.input.members = ["guz"]; +} diff --git a/home/default.nix b/home/guz-lite/default.nix similarity index 100% rename from home/default.nix rename to home/guz-lite/default.nix diff --git a/home/desktop.nix b/home/guz-lite/desktop.nix similarity index 100% rename from home/desktop.nix rename to home/guz-lite/desktop.nix index 63cfc32..e98a479 100644 --- a/home/desktop.nix +++ b/home/guz-lite/desktop.nix @@ -1,7 +1,7 @@ { config, - pkgs, lib, + pkgs, ... }: { # Desktop Environment diff --git a/home/keymaps.nix b/home/guz-lite/keymaps.nix similarity index 100% rename from home/keymaps.nix rename to home/guz-lite/keymaps.nix diff --git a/home/apps.nix b/home/guz/apps.nix similarity index 66% rename from home/apps.nix rename to home/guz/apps.nix index 0aed61e..e3a3a01 100644 --- a/home/apps.nix +++ b/home/guz/apps.nix @@ -1,39 +1,4 @@ {pkgs, ...}: { - xdg.mimeApps.enable = true; - xdg.mimeApps.defaultApplications = let - browser = "zen.desktop"; - email = "thunderbird.desktop"; - in { - "text/html" = browser; - "x-scheme-handler/http" = browser; - "x-scheme-handler/https" = browser; - "x-scheme-handler/about" = browser; - "x-scheme-handler/unknown" = browser; - - "message/rfc822" = email; - "x-scheme-handler/mailto" = email; - "text/calendar" = email; - "text/x-vcard" = email; - }; - - # Zen Browser (Main browser) - programs.zen-browser.enable = true; - - # Brave (Work browser) - programs.chromium.enable = true; - programs.chromium.package = pkgs.brave; - programs.chromium.extensions = [ - {id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";} # Dark Reader - {id = "oldceeleldhonbafppcapldpdifcinji";} # Language Tool - {id = "edibdbjcniadpccecjdfdjjppcpchdlm";} # I still don't care about cookies - {id = "dphilobhebphkdjbpfohgikllaljmgbn";} # SimpleLogin - {id = "cbghhgpcnddeihccjmnadmkaejncjndb";} # Vencord - ]; - - # Thunderbird (Email client) - programs.thunderbird.enable = true; - programs.thunderbird.profiles = {}; - # Freetube (YouTube client) programs.freetube.enable = true; programs.freetube.settings = { diff --git a/home/guz/configuration.nix b/home/guz/configuration.nix new file mode 100644 index 0000000..f0da0d8 --- /dev/null +++ b/home/guz/configuration.nix @@ -0,0 +1,9 @@ +{lib, ...}: { + # Home-manager configurations for when it is used as a NixOS module. + + imports = [ + ../guz-lite/configuration.nix + ]; + + home-manager.users.guz = lib.mkForce import ./default.nix; +} diff --git a/home/guz/default.nix b/home/guz/default.nix new file mode 100644 index 0000000..9cdf958 --- /dev/null +++ b/home/guz/default.nix @@ -0,0 +1,17 @@ +{self, ...}: { + home.username = "guz"; + home.homeDirectory = "/home/guz"; + + imports = [ + ../guz-lite + + ./apps.nix + ]; + + # The *state version* indicates which default + # settings are in effect and will therefore help avoid breaking + # program configurations. Switching to a higher state version + # typically requires performing some manual steps, such as data + # conversion or moving files. + home.stateVersion = "24.11"; +}