diff --git a/helpers.nix b/helpers.nix index e5ba189..3d43a25 100644 --- a/helpers.nix +++ b/helpers.nix @@ -88,7 +88,20 @@ with inputs.nixpkgs.lib; { useGlobalPkgs = true; useUserPackages = true; backupFileExtension = "backup"; - users.fern = ./home.nix; + users.fern = { + # Me! + home.username = "fern"; + home.homeDirectory = "/home/fern"; + + # Home manager version. + home.stateVersion = "25.05"; + + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; + + # Import config. + imports = [./suites/${suite}/home.nix]; + }; }; } ] diff --git a/home.nix b/home.nix deleted file mode 100644 index ad824de..0000000 --- a/home.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ - config, - pkgs, - ... -}: { - # Me! - home.username = "fern"; - home.homeDirectory = "/home/fern"; - - # Home manager version. - home.stateVersion = "25.05"; - - # Let Home Manager install and manage itself. - programs.home-manager.enable = true; -} diff --git a/suites/default.nix b/suites/default.nix index 6b7d91d..38dd6d3 100644 --- a/suites/default.nix +++ b/suites/default.nix @@ -50,6 +50,7 @@ with lib; { # Enable networking. networking.networkmanager.enable = true; + users.groups.networkmanager.members = ["fern"]; # Set hostname networking.hostName = hostname; @@ -61,13 +62,13 @@ with lib; { description = "Fern Garden"; extraGroups = [ "wheel" - "networkmanager" ]; }; # Use fish shell programs.fish = { enable = true; + shellAbbrs = let flake = "/home/fern/Repositories/flock"; in { @@ -75,11 +76,20 @@ with lib; { nt = "nh os test ${flake}"; nb = "nh os boot ${flake}"; }; - interactiveShellInit = '' - # set gruvbox theme - theme_gruvbox dark hard - # yazi cd on quit. + interactiveShellInit = let + kanagawaTheme = builtins.readFile (pkgs.fetchurl { + url = "https://raw.githubusercontent.com/rebelot/kanagawa.nvim/refs/heads/master/extras/fish/kanagawa.fish"; + hash = "sha256-2sRTcX/ktf4aiALCn4w88PiGF8K3BtUeSSIQOdDxtWo="; + }); + in '' + # Kanagawa theme. + ${kanagawaTheme} + + # Disable greeting + set fish_greeting + + # Yazi cd on quit. function y set tmp (mktemp -t "yazi-cwd.XXXXXX") yazi $argv --cwd-file="$tmp" @@ -144,15 +154,16 @@ with lib; { } ]; - colorschemes.gruvbox = { + colorschemes.kanagawa = { enable = true; settings = { - contrast = "hard"; - overrides.SignColumn.bg = "none"; + background.dark = "dragon"; + colors.theme.all.ui.bg_gutter = "none"; }; }; opts = rec { + background = "dark"; shiftwidth = 2; tabstop = shiftwidth; softtabstop = shiftwidth; @@ -253,24 +264,28 @@ with lib; { programs.yazi = { enable = true; - flavors."gruvbox-dark.yazi" = pkgs.yazi-flavour-gruvbox-dark; - settings.theme = { - flavor.dark = "gruvbox-dark"; - }; + flavors."kanagawa-dragon.yazi" = pkgs.yazi-flavour-kanagawa-dragon; + settings.theme.flavor.dark = "kanagawa-dragon"; }; programs.tmux = { enable = true; - plugins = [pkgs.tmuxPlugins.gruvbox]; + plugins = [pkgs.tmuxPlugins.kanagawa]; + }; + + programs.nh = { + enable = true; + clean = { + enable = true; + extraArgs = "--keep 5"; + }; }; environment.systemPackages = with pkgs; [ aria2 btop - fishPlugins.gruvbox lynx ncdu - nh rsync trash-cli ]; @@ -286,13 +301,4 @@ with lib; { userServices = true; }; }; - - # Home manager settings. - home-manager.users.fern = { - programs.git = { - enable = true; - userEmail = "mail@fern.garden"; - userName = "Fern Garden"; - }; - }; } diff --git a/suites/desktop/default.nix b/suites/desktop/default.nix index b6eb393..60b819a 100755 --- a/suites/desktop/default.nix +++ b/suites/desktop/default.nix @@ -115,7 +115,6 @@ with lib; { caligula celluloid deploy-rs - discord feishin fluffychat fusee-nano @@ -124,6 +123,7 @@ with lib; { glabels-qt gnome-tweaks gnomeExtensions.adw-gtk3-colorizer + gnomeExtensions.alphabetical-app-grid gnomeExtensions.auto-move-windows gnomeExtensions.caffeine gnomeExtensions.color-picker @@ -131,6 +131,7 @@ with lib; { gnomeExtensions.smile-complementary-extension jellyfin-media-player libreoffice + minipro nextcloud-client ns-usbloader obsidian @@ -140,6 +141,7 @@ with lib; { signal-desktop smile via + webcord yubioath-flutter ]; @@ -190,24 +192,4 @@ with lib; { services.power-profiles-daemon.enable = mkForce false; # enabled by gnome services.tlp.enable = mkForce false; # enabled by nixos-hardware services.auto-cpufreq.enable = true; - - # Home manager settings. - home-manager.users.fern = { - # Ghostty settings. - programs.ghostty = { - enable = true; - settings = { - font-family = "IosevkaCustom"; - theme = "GruvboxDarkHard"; - }; - }; - - # virt-manager - autoconnect to qemu. - dconf.settings = { - "org/virt-manager/virt-manager/connections" = { - autoconnect = ["qemu:///system"]; - uris = ["qemu:///system"]; - }; - }; - }; } diff --git a/suites/desktop/home.nix b/suites/desktop/home.nix new file mode 100644 index 0000000..1c0b2bb --- /dev/null +++ b/suites/desktop/home.nix @@ -0,0 +1,27 @@ +{ + imports = [../home.nix]; + + # Ghostty settings. + programs.ghostty = { + enable = true; + settings = { + font-family = "IosevkaCustom"; + theme = "Kanagawa Dragon"; + }; + }; + + # Firefox settings + programs.firefox = { + enable = true; + profiles.default = {}; + profiles.default.settings."identity.sync.tokenserver.uri" = "https://fxsync.fern.garden/1.0/sync/1.5"; + }; + + # virt-manager - autoconnect to qemu. + dconf.settings = { + "org/virt-manager/virt-manager/connections" = { + autoconnect = ["qemu:///system"]; + uris = ["qemu:///system"]; + }; + }; +} diff --git a/suites/home.nix b/suites/home.nix new file mode 100644 index 0000000..2b1ff05 --- /dev/null +++ b/suites/home.nix @@ -0,0 +1,7 @@ +{ + programs.git = { + enable = true; + userEmail = "mail@fern.garden"; + userName = "Fern Garden"; + }; +} diff --git a/suites/server/home.nix b/suites/server/home.nix new file mode 100644 index 0000000..ab84dc1 --- /dev/null +++ b/suites/server/home.nix @@ -0,0 +1,3 @@ +{ + imports = [../home.nix]; +} diff --git a/suites/server/lxc/home.nix b/suites/server/lxc/home.nix new file mode 100644 index 0000000..ab84dc1 --- /dev/null +++ b/suites/server/lxc/home.nix @@ -0,0 +1,3 @@ +{ + imports = [../home.nix]; +} diff --git a/suites/server/vm/home.nix b/suites/server/vm/home.nix new file mode 100644 index 0000000..ab84dc1 --- /dev/null +++ b/suites/server/vm/home.nix @@ -0,0 +1,3 @@ +{ + imports = [../home.nix]; +}