diff --git a/flake.lock b/flake.lock index da3bbb0..14ace00 100644 --- a/flake.lock +++ b/flake.lock @@ -14,11 +14,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1722339003, - "narHash": "sha256-ZeS51uJI30ehNkcZ4uKqT4ZDARPyqrHADSKAwv5vVCU=", + "lastModified": 1723293904, + "narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=", "owner": "ryantm", "repo": "agenix", - "rev": "3f1dae074a12feb7327b4bf43cbac0d124488bb7", + "rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41", "type": "github" }, "original": { @@ -169,11 +169,11 @@ ] }, "locked": { - "lastModified": 1722500642, - "narHash": "sha256-Vls0TQRdplex1JslnBxEk3M26Q1vR+OSg+sk5rBG4DA=", + "lastModified": 1723859949, + "narHash": "sha256-kiaGz4deGYKMjJPOji/JVvSP/eTefrIA3rAjOnOpXl4=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "b47af8628624856ad6853168298f1f96364d92d6", + "rev": "076b9a905af8a52b866c8db068d6da475839d97b", "type": "github" }, "original": { @@ -259,11 +259,11 @@ ] }, "locked": { - "lastModified": 1693700670, - "narHash": "sha256-YfKxdcacz0NzF2iwI+0kRHXYQqf+ECXXMEzCGj7MeoA=", + "lastModified": 1723818752, + "narHash": "sha256-rPq1dUlWax+GQUzYbhFTJwRfLk5F0Y3BiQeYIB+1084=", "owner": "nikitawootten", "repo": "flake-graph", - "rev": "e99d432261bb9879b57ecae51e978344690e277e", + "rev": "34ac020ee21d913100d4240b8ae2ef56a59f64e4", "type": "github" }, "original": { @@ -390,11 +390,11 @@ ] }, "locked": { - "lastModified": 1722462338, - "narHash": "sha256-ss0G8t8RJVDewA3MyqgAlV951cWRK6EtVhVKEZ7J5LU=", + "lastModified": 1723986931, + "narHash": "sha256-Fy+KEvDQ+Hc8lJAV3t6leXhZJ2ncU5/esxkgt3b8DEY=", "owner": "nix-community", "repo": "home-manager", - "rev": "6e090576c4824b16e8759ebca3958c5b09659ee8", + "rev": "2598861031b78aadb4da7269df7ca9ddfc3e1671", "type": "github" }, "original": { @@ -453,11 +453,11 @@ ] }, "locked": { - "lastModified": 1722136042, - "narHash": "sha256-x3FmT4QSyK28itMiR5zfYhUrG5nY+2dv+AIcKfmSp5A=", + "lastModified": 1723950649, + "narHash": "sha256-dHMkGjwwCGj0c2MKyCjRXVBXq2Sz3TWbbM23AS7/5Hc=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "c0ca47e8523b578464014961059999d8eddd4aae", + "rev": "392828aafbed62a6ea6ccab13728df2e67481805", "type": "github" }, "original": { @@ -495,11 +495,11 @@ }, "nixlib": { "locked": { - "lastModified": 1722128034, - "narHash": "sha256-L8rwzYPsLo/TYtydPJoQyYOfetuiyQYnTWYcyB8UE/s=", + "lastModified": 1723942470, + "narHash": "sha256-QdSArN0xKESEOTcv+3kE6yu4B4WX9lupZ4+Htx3RXGg=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "d15f6f6021693898fcd2c6a9bb13707383da9bbc", + "rev": "531a2e8416a6d8200a53eddfbdb8f2c8dc4a1251", "type": "github" }, "original": { @@ -516,11 +516,11 @@ ] }, "locked": { - "lastModified": 1722214420, - "narHash": "sha256-qfHC1p5hcErGcE672/KhBkyWYloekQpqIxtcbcUVYkA=", + "lastModified": 1724028932, + "narHash": "sha256-U11ZiQPrpIBdv7oS23bNdX9GCxe/hPf/ARr64P2Wj1Y=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "75cbb2a5e19c18840d105a72d036c6c92fc46c5d", + "rev": "5fd22603892e4ec5ac6085058ed658243143aacd", "type": "github" }, "original": { @@ -531,11 +531,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1722332872, - "narHash": "sha256-2xLM4sc5QBfi0U/AANJAW21Bj4ZX479MHPMPkB+eKBU=", + "lastModified": 1724067415, + "narHash": "sha256-WJBAEFXAtA41RMpK8mvw0cQ62CJkNMBtzcEeNIJV7b0=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "14c333162ba53c02853add87a0000cbd7aa230c2", + "rev": "b09c46430ffcf18d575acf5c339b38ac4e1db5d2", "type": "github" }, "original": { @@ -547,11 +547,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1722421184, - "narHash": "sha256-/DJBI6trCeVnasdjUo9pbnodCLZcFqnVZiLUfqLH4jA=", + "lastModified": 1723991338, + "narHash": "sha256-Grh5PF0+gootJfOJFenTTxDTYPidA3V28dqJ/WV7iis=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9f918d616c5321ad374ae6cb5ea89c9e04bf3e58", + "rev": "8a3354191c0d7144db9756a74755672387b702ba", "type": "github" }, "original": { @@ -563,11 +563,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1720386169, - "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", + "lastModified": 1723938990, + "narHash": "sha256-9tUadhnZQbWIiYVXH8ncfGXGvkNq3Hag4RCBEMUk7MI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "rev": "c42fcfbdfeae23e68fc520f9182dde9f38ad1890", "type": "github" }, "original": { @@ -584,14 +584,16 @@ "nixpkgs": [ "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable" + "nixpkgs-stable": [ + "nixpkgs-stable" + ] }, "locked": { - "lastModified": 1721042469, - "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", + "lastModified": 1723803910, + "narHash": "sha256-yezvUuFiEnCFbGuwj/bQcqg7RykIEqudOy/RBrId0pc=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", + "rev": "bfef0ada09e2c8ac55bbcd0831bd0c9d42e651ba", "type": "github" }, "original": { @@ -614,6 +616,7 @@ "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", + "nixpkgs-stable": "nixpkgs-stable", "pre-commit-hooks": "pre-commit-hooks", "stylix": "stylix" } @@ -658,11 +661,11 @@ ] }, "locked": { - "lastModified": 1722946882, - "narHash": "sha256-mxtnMye8gs82tdQbVC+g6v3aPOZlH150f9WyntHIkTg=", + "lastModified": 1723834469, + "narHash": "sha256-PkJTr9DWBQcR5Ru1fJpG80dtw0MLSxAZlKnhHHFAGIA=", "owner": "danth", "repo": "stylix", - "rev": "5853f1a8bd072f2ebabfc3de3973084353cf6f1e", + "rev": "6858d08ed012bc6491cc92c13142104e56badf31", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 7767a68..59d6783 100644 --- a/flake.nix +++ b/flake.nix @@ -3,6 +3,7 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.05"; # Dotfiles management home-manager = { url = "github:nix-community/home-manager"; @@ -53,6 +54,7 @@ pre-commit-hooks = { url = "github:cachix/pre-commit-hooks.nix"; inputs.nixpkgs.follows = "nixpkgs"; + inputs.nixpkgs-stable.follows = "nixpkgs-stable"; }; stylix = { url = "github:danth/stylix"; diff --git a/homeModules/default.nix b/homeModules/default.nix index 7624dda..26890c0 100644 --- a/homeModules/default.nix +++ b/homeModules/default.nix @@ -1 +1,4 @@ -{ personal.imports = [ ./personal ]; } +{ + personal.imports = [ ./personal ]; + protonmail-bridge.imports = [ ./protonmail-bridge ]; +} diff --git a/homeModules/personal/default.nix b/homeModules/personal/default.nix index 894d703..38ec264 100644 --- a/homeModules/personal/default.nix +++ b/homeModules/personal/default.nix @@ -1,4 +1,4 @@ -{ inputs, lib, ... }: { +{ self, inputs, lib, ... }: { imports = [ ./gnome ./roles diff --git a/homeModules/personal/editor.nix b/homeModules/personal/editor.nix index 8cfff32..51d3d3d 100644 --- a/homeModules/personal/editor.nix +++ b/homeModules/personal/editor.nix @@ -30,7 +30,7 @@ in { home.packages = with pkgs; [ # provides LSPs for CSS, SCSS, HTML, and JSON - nodePackages.vscode-langservers-extracted + # nodePackages.vscode-langservers-extracted yaml-language-server nodePackages.bash-language-server # markdown LSP diff --git a/homeModules/personal/gnome/appearance.nix b/homeModules/personal/gnome/appearance.nix index 74763d1..23f178c 100644 --- a/homeModules/personal/gnome/appearance.nix +++ b/homeModules/personal/gnome/appearance.nix @@ -5,10 +5,6 @@ in { home.packages = with pkgs; [ gnomeExtensions.alphabetical-app-grid gnomeExtensions.appindicator - gnomeExtensions.blur-my-shell - gnomeExtensions.night-theme-switcher - # libadwaita lookalike for gtk3 - adw-gtk3 ]; dconf = { @@ -17,20 +13,8 @@ in { enabled-extensions = [ "AlphabeticalAppGrid@stuarthayhurst" "appindicatorsupport@rgcjonas.gmail.com" - "blur-my-shell@aunetx" - "nightthemeswitcher@romainvigier.fr" ]; }; - "org/gnome/desktop/interface" = { gtk-theme = "adw-gtk3"; }; - "org/gnome/shell/extensions/nightthemeswitcher/time" = { - nightthemeswitcher-ondemand-keybinding = [ "t" ]; - }; - "org/gnome/shell/extensions/nightthemeswitcher/gtk-variants" = { - enabled = true; - day = "adw-gtk3"; - night = "adw-gtk3-dark"; - }; - "org/gnome/Console" = { theme = "auto"; }; }; }; }; diff --git a/homeModules/personal/gnome/extra.nix b/homeModules/personal/gnome/extra.nix index 760e7b2..f6a5ee2 100644 --- a/homeModules/personal/gnome/extra.nix +++ b/homeModules/personal/gnome/extra.nix @@ -32,5 +32,10 @@ in { "org/gnome/desktop/datetime" = { automatic-timezone = true; }; }; }; + + programs.git = { + package = pkgs.gitFull; + extraConfig.credential.helper = "libsecret"; + }; }; } diff --git a/homeModules/personal/gnome/input.nix b/homeModules/personal/gnome/input.nix index 13a3363..16632d4 100644 --- a/homeModules/personal/gnome/input.nix +++ b/homeModules/personal/gnome/input.nix @@ -40,6 +40,7 @@ in { "org/gnome/shell/extensions/paperwm" = { show-workspace-indicator = false; }; + "org/gnome/desktop/interface" = { gtk-enable-primary-paste = false; }; }; }; } diff --git a/homeModules/personal/roles/work.nix b/homeModules/personal/roles/work.nix index ac7fa09..9bf931d 100644 --- a/homeModules/personal/roles/work.nix +++ b/homeModules/personal/roles/work.nix @@ -16,6 +16,7 @@ in { exec ${pkgs.awscli2}/bin/aws "$@" '') beekeeper-studio + protonmail-desktop ]; xdg.desktopEntries.httpie-desktop = { @@ -25,5 +26,10 @@ in { terminal = false; categories = [ "Application" "Network" ]; }; + + personal.cluster-admin.enable = lib.mkDefault true; + personal.sectools.enable = lib.mkDefault true; + personal.vscode.enable = lib.mkDefault true; + personal.firefox.enable = lib.mkDefault true; }; } diff --git a/homeModules/protonmail-bridge/default.nix b/homeModules/protonmail-bridge/default.nix new file mode 100644 index 0000000..cc578b5 --- /dev/null +++ b/homeModules/protonmail-bridge/default.nix @@ -0,0 +1,41 @@ +{ pkgs, config, lib, ... }: +let cfg = config.services.protonmail-bridge; +in { + options.services.protonmail-bridge = { + enable = lib.mkEnableOption "Enable protonmail-bridge"; + package = lib.mkOption { + type = lib.types.package; + default = pkgs.protonmail-bridge; + description = "Protonmail Bridge package"; + }; + enableGitSendEmail = lib.mkEnableOption "Enable git send-email"; + }; + + config = lib.mkIf cfg.enable { + systemd.user.services.protonmail-bridge = { + enable = true; + Unit = { + Description = "Protonmail Bridge"; + PartOf = "graphical-session.target"; + }; + Install = { WantedBy = [ "graphical-session.target" ]; }; + Service = { + Type = "simple"; + ExecStart = + "${cfg.package}/bin/protonmail-bridge --noninteractive --log-level info"; + + }; + }; + } // lib.mkIf (cfg.enable && cfg.enableGitSendEmail) { + programs.git = { + package = lib.mkDefault pkgs.gitFull; + extraConfig = { + sendemail = { + smtpServer = "localhost"; + smptPort = lib.mkDefault 1025; + smtpUser = lib.mkDefault config.programs.git.userEmail; + }; + }; + }; + }; +} diff --git a/hostModules/personal/gnome.nix b/hostModules/personal/gnome.nix index b57a6e1..c8cd46d 100644 --- a/hostModules/personal/gnome.nix +++ b/hostModules/personal/gnome.nix @@ -6,6 +6,8 @@ in { }; config = lib.mkIf cfg.enable { + home-manager.sharedModules = [{ personal.gnome.enable = true; }]; + personal.sound.enable = lib.mkDefault true; services.xserver.enable = true; diff --git a/hostModules/personal/stylix.nix b/hostModules/personal/stylix.nix index 3cb32a9..cf076e6 100644 --- a/hostModules/personal/stylix.nix +++ b/hostModules/personal/stylix.nix @@ -9,6 +9,11 @@ name = "JetBrains Mono"; }; }; + + cursor = { + name = "Adwaita"; + package = pkgs.adwaita-icon-theme; + }; }; }; } diff --git a/hostModules/personal/user.nix b/hostModules/personal/user.nix index 00b9037..b6536b5 100644 --- a/hostModules/personal/user.nix +++ b/hostModules/personal/user.nix @@ -26,10 +26,10 @@ in { useGlobalPkgs = true; useUserPackages = true; extraSpecialArgs = { inherit self inputs secrets keys; }; - users.${cfg.name} = { + sharedModules = [{ home.stateVersion = config.system.stateVersion; imports = [ self.homeModules.personal ]; - }; + }]; }; }; } diff --git a/hosts/dionysus/default.nix b/hosts/dionysus/default.nix index c159d16..c14b4cd 100644 --- a/hosts/dionysus/default.nix +++ b/hosts/dionysus/default.nix @@ -55,20 +55,8 @@ networking.hostName = "dionysus"; home-manager.users.${config.personal.user.name} = { - personal.vscode.enable = true; - personal.gnome.enable = true; personal.gnome.enableGSConnect = true; personal.fonts.enable = true; - personal.sectools.enable = true; - personal.firefox.enable = true; - personal.kitty.enable = true; - # personal.firefox.gnome-theme.enable = true; - # personal.firefox.sideberry-autohide = { - # enable = true; - # profiles = [ "default" ]; - # }; - - personal.cluster-admin.enable = true; programs.firefox.profiles.default.settings = { "gfx.webrender.all" = true; # Force enable GPU acceleration diff --git a/hosts/voyager/default.nix b/hosts/voyager/default.nix index 37a4e3e..cccbb1d 100644 --- a/hosts/voyager/default.nix +++ b/hosts/voyager/default.nix @@ -39,16 +39,15 @@ }; home-manager.users.${config.personal.user.name} = { - personal.vscode.enable = true; - personal.gnome.enable = true; personal.gnome.enableGSConnect = true; personal.fonts.enable = true; - personal.sectools.enable = true; - personal.firefox.enable = true; - personal.cluster-admin.enable = true; home.packages = with pkgs; [ tor-browser-bundle-bin ]; personal.roles.work.enable = true; + + imports = [ self.homeModules.protonmail-bridge ]; + services.protonmail-bridge.enable = true; + services.protonmail-bridge.enableGitSendEmail = true; }; programs.nix-ld.enable = true;