diff --git a/home-manager/features/development/vscode.nix b/home-manager/features/development/vscode.nix index adfe1b1..64dd30a 100644 --- a/home-manager/features/development/vscode.nix +++ b/home-manager/features/development/vscode.nix @@ -3,7 +3,7 @@ programs.vscode = { enable = true; - extensions = with pkgs.vscode-extensions; [ + profiles.default.extensions = with pkgs.vscode-extensions; [ asvetliakov.vscode-neovim # Use embedded neovim editor enkia.tokyo-night # Color theme eamodio.gitlens # Show git info inline diff --git a/home-manager/features/email.nix b/home-manager/features/email.nix new file mode 100644 index 0000000..6e117e4 --- /dev/null +++ b/home-manager/features/email.nix @@ -0,0 +1,23 @@ +_: { + # Proton Mail is fully encrypted on the servers so it doesn't support POP3 or + # IMAP. In order to connect we need to set up a bridge that will download + # the mail and decrypt it locally. + services.protonmail-bridge.enable = true; + + programs.thunderbird = { + enable = true; + + profiles.drew = { + isDefault = true; + accountsOrder = [ "proton" ]; + }; + }; + + accounts.email.accounts.proton = { + enable = true; + primary = true; + address = "drew@blazestar.net"; + realName = "Drew Haven"; + thunderbird.enable = true; + }; +} diff --git a/home-manager/features/git.nix b/home-manager/features/git.nix index 7eda81c..2382b55 100644 --- a/home-manager/features/git.nix +++ b/home-manager/features/git.nix @@ -2,27 +2,29 @@ { programs.git = { enable = true; - aliases = { - "co" = "checkout"; - "s" = "status"; - "b" = "branch"; - "r" = "remote"; - "amend" = "commit -a --amend --no-edit"; - "c" = "commit -am"; - "l" = "log --oneline"; + settings = { + alias = { + "co" = "checkout"; + "s" = "status"; + "b" = "branch"; + "r" = "remote"; + "amend" = "commit -a --amend --no-edit"; + "c" = "commit -am"; + "l" = "log --oneline"; + }; + extraConfig = { + pull = { + rebase = true; + }; + log = { + date = "iso"; + }; + init = { + defaultBranch = "main"; + }; + }; + # Enable the delta diff pager. + delta.enable = true; }; - extraConfig = { - pull = { - rebase = true; - }; - log = { - date = "iso"; - }; - init = { - defaultBranch = "main"; - }; - }; - # Enable the delta diff pager. - delta.enable = true; }; } diff --git a/home-manager/features/ssh.nix b/home-manager/features/ssh.nix index a0d8a10..1462901 100644 --- a/home-manager/features/ssh.nix +++ b/home-manager/features/ssh.nix @@ -3,13 +3,13 @@ programs.ssh = { enable = true; - # Automatically add keys to agent when used - # Other options are "no" and "confirm" - addKeysToAgent = "yes"; - matchBlocks = { "mcp.haven" = { user = "drew"; + + # Automatically add keys to agent when used + # Other options are "no" and "confirm" + addKeysToAgent = "yes"; }; }; }; diff --git a/system/features/gui.nix b/system/features/gui.nix index 0aa17d5..5db2c3c 100644 --- a/system/features/gui.nix +++ b/system/features/gui.nix @@ -1,11 +1,8 @@ -{ ... }: { +{ ... }: +{ # Enable the X11 windowing system and a display manager services.xserver = { enable = true; - displayManager.gdm = { - enable = true; - wayland = true; - }; # displayManager.sddm = { # enable = true; # wayland.enable = true; @@ -17,6 +14,10 @@ variant = ""; }; }; + services.displayManager.gdm = { + enable = true; + wayland = true; + }; # services.displayManager.ly.enable = true; # Enable Hyprland so it shows up in the menu diff --git a/system/hosts/altair/configuration.nix b/system/hosts/altair/configuration.nix index 311cc0d..56a5489 100644 --- a/system/hosts/altair/configuration.nix +++ b/system/hosts/altair/configuration.nix @@ -70,7 +70,7 @@ services.gnome.gnome-keyring.enable = true; # Enable sound with pipewire. - hardware.pulseaudio.enable = false; + services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; diff --git a/system/hosts/altair/drew.nix b/system/hosts/altair/drew.nix index 5f34e85..04d34b9 100644 --- a/system/hosts/altair/drew.nix +++ b/system/hosts/altair/drew.nix @@ -17,6 +17,7 @@ in "/features/development/typescript.nix" "/features/development/vscode.nix" "/features/eww" + "/features/email.nix" "/features/gaming.nix" "/features/image-editing.nix" "/features/linux-desktop.nix" @@ -38,9 +39,11 @@ in home.username = "drew"; home.homeDirectory = "/home/drew"; - programs.git = { - userName = "Drew Haven"; - userEmail = "drew.haven@gmail.com"; + programs.git.settings = { + user = { + name = "Drew Haven"; + email = "drew.haven@gmail.com"; + }; }; wayland.windowManager.hyprland.settings = { diff --git a/system/hosts/mcp/drew.nix b/system/hosts/mcp/drew.nix index 01fb71e..bba9452 100644 --- a/system/hosts/mcp/drew.nix +++ b/system/hosts/mcp/drew.nix @@ -10,9 +10,11 @@ home.username = "drew"; home.homeDirectory = "/home/drew"; - programs.git = { - userName = "Drew Haven"; - userEmail = "drew.haven@gmail.com"; + programs.git.settings = { + user = { + name = "Drew Haven"; + email = "drew.haven@gmail.com"; + }; extraConfig = { safe = { # Marks the web directory as safe even though I don't own it. diff --git a/system/hosts/vega/drew.nix b/system/hosts/vega/drew.nix index 55778ac..c679161 100644 --- a/system/hosts/vega/drew.nix +++ b/system/hosts/vega/drew.nix @@ -9,6 +9,7 @@ "/features/development/markdown.nix" "/features/development/typescript.nix" "/features/development/vscode.nix" + "/features/email.nix" "/features/eww" "/features/image-editing.nix" "/features/linux-desktop.nix" @@ -29,9 +30,9 @@ home.username = "drew"; home.homeDirectory = "/home/drew"; - programs.git = { - userName = "Drew Haven"; - userEmail = "periodic@blazestar.net"; + programs.git.settings.user = { + name = "Drew Haven"; + email = "periodic@blazestar.net"; }; wayland.windowManager.hyprland.settings = {