diff --git a/homes/common/base.nix b/homes/common/base.nix deleted file mode 100644 index 0f0a003..0000000 --- a/homes/common/base.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ config, pkgs, ... }: -{ - - programs.bash.enable = true; - - programs.fish = { - enable = true; - }; - -} diff --git a/homes/common/default.nix b/homes/common/default.nix deleted file mode 100644 index 6cab159..0000000 --- a/homes/common/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ ... }: -{ - - imports = [ - ./user-info.nix - ./base.nix - ./editor.nix - ./vc.nix - ]; - -} diff --git a/homes/common/editor.nix b/homes/common/editor.nix deleted file mode 100644 index 441f4f0..0000000 --- a/homes/common/editor.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ config, pkgs, ... }: -{ - - programs.helix = { - enable = true; - defaultEditor = true; - }; - -} diff --git a/homes/common/user-info.nix b/homes/common/user-info.nix deleted file mode 100644 index 96f8bd1..0000000 --- a/homes/common/user-info.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ lib, ... }: -{ - - options.user.info = { - name = lib.mkOption { - type = lib.types.str; - }; - email = lib.mkOption { - type = lib.types.str; - }; - }; - - config.user.info = { - name = lib.mkDefault "Julien Hémono"; - email = lib.mkDefault "julien@hemono.fr"; - }; - -} diff --git a/homes/common/vc.nix b/homes/common/vc.nix deleted file mode 100644 index 9bbb8a3..0000000 --- a/homes/common/vc.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ config, pkgs, ... }: -{ - - programs.git = { - enable = true; - settings = { - user = { - email = config.user.info.email; - name = config.user.info.name; - }; - }; - }; - - programs.jujutsu = { - enable = true; - settings = { - user = { - email = config.user.info.email; - name = config.user.info.name; - }; - ui.default-command = "log"; - }; - }; - - programs.gh = { - enable = true; - }; - -} diff --git a/homes/me/default.nix b/homes/me/default.nix index e0f747d..37cd2dd 100644 --- a/homes/me/default.nix +++ b/homes/me/default.nix @@ -2,12 +2,44 @@ { - imports = [ - ../common - ]; - home.stateVersion = "25.05"; # Please read the comment before changing. + programs.bash.enable = true; + + programs.fish = { + enable = true; + }; + + programs.git = { + enable = true; + settings = { + user = { + name = "Julien Hémono"; + email = "julien@hemono.fr"; + }; + }; + }; + + programs.jujutsu = { + enable = true; + settings = { + user = { + email = "julien@hemono.fr"; + name = "Julien Hémono"; + }; + ui.default-command = "log"; + }; + }; + + programs.gh = { + enable = true; + }; + + programs.helix = { + enable = true; + defaultEditor = true; + }; + programs.uv.enable = true; programs.firefox = { @@ -65,4 +97,38 @@ # nodejs ]; + # Home Manager is pretty good at managing dotfiles. The primary way to manage + # plain files is through 'home.file'. + home.file = { + # # Building this configuration will create a copy of 'dotfiles/screenrc' in + # # the Nix store. Activating the configuration will then make '~/.screenrc' a + # # symlink to the Nix store copy. + # ".screenrc".source = dotfiles/screenrc; + + # # You can also set the file content immediately. + # ".gradle/gradle.properties".text = '' + # org.gradle.console=verbose + # org.gradle.daemon.idletimeout=3600000 + # ''; + }; + + # Home Manager can also manage your environment variables through + # 'home.sessionVariables'. These will be explicitly sourced when using a + # shell provided by Home Manager. If you don't want to manage your shell + # through Home Manager then you have to manually source 'hm-session-vars.sh' + # located at either + # + # ~/.nix-profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # /etc/profiles/per-user/julien/etc/profile.d/hm-session-vars.sh + # + home.sessionVariables = { + }; + } diff --git a/homes/scalizer/default.nix b/homes/scalizer/default.nix index 08b24ba..5d94bf7 100644 --- a/homes/scalizer/default.nix +++ b/homes/scalizer/default.nix @@ -1,17 +1,50 @@ { config, pkgs, ... }: { - - imports = [ - ../common - ]; - + # Home Manager needs a bit of information about you and the paths it should + # manage. home.username = "julien"; home.homeDirectory = "/home/julien"; - home.stateVersion = "25.05"; + # This value determines the Home Manager release that your configuration is + # compatible with. This helps avoid breakage when a new Home Manager release + # introduces backwards incompatible changes. + # + # You should not change this value, even if you update Home Manager. If you do + # want to update the value, then make sure to first check the Home Manager + # release notes. + home.stateVersion = "25.05"; # Please read the comment before changing. - user.info.email = "julien@scalizer.fr"; + programs.bash.enable = true; + programs.fish = { + enable = true; + }; + + programs.git = { + enable = true; + userName = "Julien Hémono"; + userEmail = "julien@scalizer.fr"; + }; + + programs.jujutsu = { + enable = true; + settings = { + user = { + email = "julien@scalizer.fr"; + name = "Julien Hémono"; + }; + ui.default-command = "log"; + }; + }; + + programs.gh = { + enable = true; + }; + + programs.helix = { + enable = true; + defaultEditor = true; + }; programs.uv.enable = true; @@ -19,9 +52,46 @@ enable = true; }; + # The home.packages option allows you to install Nix packages into your + # environment. home.packages = with pkgs; [ ]; + # Home Manager is pretty good at managing dotfiles. The primary way to manage + # plain files is through 'home.file'. + home.file = { + # # Building this configuration will create a copy of 'dotfiles/screenrc' in + # # the Nix store. Activating the configuration will then make '~/.screenrc' a + # # symlink to the Nix store copy. + # ".screenrc".source = dotfiles/screenrc; + + # # You can also set the file content immediately. + # ".gradle/gradle.properties".text = '' + # org.gradle.console=verbose + # org.gradle.daemon.idletimeout=3600000 + # ''; + }; + + # Home Manager can also manage your environment variables through + # 'home.sessionVariables'. These will be explicitly sourced when using a + # shell provided by Home Manager. If you don't want to manage your shell + # through Home Manager then you have to manually source 'hm-session-vars.sh' + # located at either + # + # ~/.nix-profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # /etc/profiles/per-user/julien/etc/profile.d/hm-session-vars.sh + # + home.sessionVariables = { + # EDITOR = "emacs"; + }; + # Let Home Manager install and manage itself. programs.home-manager.enable = true; services.home-manager.autoExpire.enable = true; diff --git a/hosts/common/default.nix b/hosts/common/default.nix deleted file mode 100644 index b53c63e..0000000 --- a/hosts/common/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ ... }: -{ - - imports = [ - ./nix.nix - ]; - -} diff --git a/hosts/common/nix.nix b/hosts/common/nix.nix deleted file mode 100644 index ac50a2b..0000000 --- a/hosts/common/nix.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ config, pkgs, ... }: -{ - - nix = { - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 7d"; - }; - settings = { - experimental-features = [ "nix-command" "flakes" ]; - auto-optimise-store = true; - trusted-users = [ "jhemono" ]; - }; - channel.enable = false; - }; - -} diff --git a/hosts/gwiad/configuration.nix b/hosts/gwiad/configuration.nix index dbc22a8..8a02f1a 100644 --- a/hosts/gwiad/configuration.nix +++ b/hosts/gwiad/configuration.nix @@ -8,7 +8,6 @@ imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix - ../common ./home.nix # Services ./btrbk.nix @@ -88,6 +87,21 @@ environment.variables.EDITOR = "vim"; + # Nix configuration + nix = { + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 7d"; + }; + settings = { + experimental-features = [ "nix-command" "flakes" ]; + auto-optimise-store = true; + trusted-users = [ "jhemono" ]; + }; + channel.enable = false; + }; + # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; diff --git a/hosts/sesame/configuration.nix b/hosts/sesame/configuration.nix index 28a5a97..057ac65 100644 --- a/hosts/sesame/configuration.nix +++ b/hosts/sesame/configuration.nix @@ -8,7 +8,6 @@ imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix - ../common # Supporting ./buckets.nix ./nginx.nix @@ -70,6 +69,15 @@ environment.variables.EDITOR = "vim"; + # Nix configuration + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 7d"; + }; + nix.settings.auto-optimise-store = true; + # OpenSSH services.openssh = { enable = true;