diff --git a/home-manager/common/software/cli/default.nix b/home-manager/common/software/cli/default.nix index 407c3105..931acfa7 100644 --- a/home-manager/common/software/cli/default.nix +++ b/home-manager/common/software/cli/default.nix @@ -3,11 +3,10 @@ ./bash.nix ./doom-emacs.nix ./git.nix - ./kitty.nix ./neofetch.nix ./neovim.nix ./ranger.nix - ./${theme}/btop.nix + ./themes/${theme}/btop.nix ]; } \ No newline at end of file diff --git a/home-manager/common/software/cli/doom-emacs.nix b/home-manager/common/software/cli/doom-emacs.nix index cab1e36a..bca21fc6 100644 --- a/home-manager/common/software/cli/doom-emacs.nix +++ b/home-manager/common/software/cli/doom-emacs.nix @@ -1,7 +1,7 @@ { theme, pkgs, ... }: { programs.doom-emacs = { enable = true; - doomPrivateDir = ./${theme}/doom-emacs.d; + doomPrivateDir = ./themes/${theme}/doom-emacs.d; }; programs.ripgrep.enable = true; diff --git a/home-manager/common/software/cli/neovim.nix b/home-manager/common/software/cli/neovim.nix index efb7bf6e..6a6d536a 100644 --- a/home-manager/common/software/cli/neovim.nix +++ b/home-manager/common/software/cli/neovim.nix @@ -1,4 +1,4 @@ -{qconfig, pkgs, ... }: { +{config, pkgs, ... }: { programs.neovim = { package = pkgs.neovim-unwrapped; enable = true; diff --git a/home-manager/common/software/cli/gruvbox/btop.nix b/home-manager/common/software/cli/themes/default/btop.nix similarity index 100% rename from home-manager/common/software/cli/gruvbox/btop.nix rename to home-manager/common/software/cli/themes/default/btop.nix diff --git a/home-manager/common/software/cli/_default/doom-emacs.d/init.el b/home-manager/common/software/cli/themes/default/doom-emacs.d/init.el similarity index 100% rename from home-manager/common/software/cli/_default/doom-emacs.d/init.el rename to home-manager/common/software/cli/themes/default/doom-emacs.d/init.el diff --git a/home-manager/common/software/cli/_default/doom-emacs.d/packages.el b/home-manager/common/software/cli/themes/default/doom-emacs.d/packages.el similarity index 100% rename from home-manager/common/software/cli/_default/doom-emacs.d/packages.el rename to home-manager/common/software/cli/themes/default/doom-emacs.d/packages.el diff --git a/home-manager/common/software/cli/themes/gruvbox/btop.nix b/home-manager/common/software/cli/themes/gruvbox/btop.nix new file mode 100644 index 00000000..78d36685 --- /dev/null +++ b/home-manager/common/software/cli/themes/gruvbox/btop.nix @@ -0,0 +1,83 @@ +{ ... }: { + home.file.".config/btop/btop.conf".text = '' +#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" +color_theme = "gruvbox_dark_v2" +theme_background = True +truecolor = True +force_tty = False +presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" +vim_keys = False +rounded_corners = True + +#* Default symbols to use for graph creation, "braille", "block" or "tty". +#* "braille" offers the highest resolution but might not be included in all fonts. +#* "block" has half the resolution of braille but uses more common characters. +#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. +#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. +graph_symbol = "braille" +graph_symbol_cpu = "default" +graph_symbol_mem = "default" +graph_symbol_net = "default" +graph_symbol_proc = "default" +shown_boxes = "cpu net proc mem" +update_ms = 1000 + +#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", +#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. +proc_sorting = "cpu lazy" + +proc_reversed = False +proc_tree = True +proc_colors = True +proc_gradient = True +proc_per_core = False +proc_mem_bytes = True +proc_cpu_graphs = True +proc_info_smaps = False +proc_left = False +proc_filter_kernel = False +cpu_graph_upper = "total" +cpu_graph_lower = "total" +cpu_invert_lower = True +cpu_single_graph = False +cpu_bottom = False +show_uptime = True +check_temp = True +cpu_sensor = "Auto" +show_coretemp = True +cpu_core_map = "" +temp_scale = "celsius" +base_10_sizes = False +show_cpu_freq = True + +#* Special formatting: /host = hostname | /user = username | /uptime = system uptime +clock_format = "[/user@/host] [/uptime] [%X]" + +background_update = True +custom_cpu_name = "" +disks_filter = "" +mem_graphs = True +mem_below_net = False +zfs_arc_cached = True +show_swap = True +swap_disk = True +show_disks = True +only_physical = True +use_fstab = True +zfs_hide_datasets = False +disk_free_priv = False +show_io_stat = True +io_mode = False +io_graph_combined = False +io_graph_speeds = "" +net_download = 100 +net_upload = 100 +net_auto = True +net_sync = False +net_iface = "" +show_battery = True +selected_battery = "Auto" +log_level = "WARNING" + + ''; +} diff --git a/home-manager/common/software/cli/gruvbox/doom-emacs.d/config.el b/home-manager/common/software/cli/themes/gruvbox/doom-emacs.d/config.el similarity index 100% rename from home-manager/common/software/cli/gruvbox/doom-emacs.d/config.el rename to home-manager/common/software/cli/themes/gruvbox/doom-emacs.d/config.el diff --git a/home-manager/common/software/cli/gruvbox/doom-emacs.d/init.el b/home-manager/common/software/cli/themes/gruvbox/doom-emacs.d/init.el similarity index 100% rename from home-manager/common/software/cli/gruvbox/doom-emacs.d/init.el rename to home-manager/common/software/cli/themes/gruvbox/doom-emacs.d/init.el diff --git a/home-manager/common/software/cli/gruvbox/doom-emacs.d/packages.el b/home-manager/common/software/cli/themes/gruvbox/doom-emacs.d/packages.el similarity index 100% rename from home-manager/common/software/cli/gruvbox/doom-emacs.d/packages.el rename to home-manager/common/software/cli/themes/gruvbox/doom-emacs.d/packages.el diff --git a/home-manager/common/software/gui/default.nix b/home-manager/common/software/gui/default.nix new file mode 100644 index 00000000..c9fae3df --- /dev/null +++ b/home-manager/common/software/gui/default.nix @@ -0,0 +1,8 @@ +{ theme, hostname, ... }: { + imports = [ + ./kitty.nix + ./firefox.nix + # ./thunderbird.nix + # ./vscodium.nix + ]; +} \ No newline at end of file diff --git a/home-manager/common/software/cli/kitty.nix b/home-manager/common/software/gui/kitty.nix similarity index 93% rename from home-manager/common/software/cli/kitty.nix rename to home-manager/common/software/gui/kitty.nix index daa19581..02d098c4 100644 --- a/home-manager/common/software/cli/kitty.nix +++ b/home-manager/common/software/gui/kitty.nix @@ -3,7 +3,7 @@ # https://sw.kovidgoyal.net/kitty/conf/ # Theme - imports = [ ./${theme}/kitty-theme.nix ]; + imports = [ ./themes/${theme}/kitty-theme.nix ]; home.file.".config/kitty/kitty.conf".text = '' sync_to_monitor yes diff --git a/home-manager/common/software/cli/gruvbox/kitty-theme.nix b/home-manager/common/software/gui/themes/gruvbox/kitty-theme.nix similarity index 100% rename from home-manager/common/software/cli/gruvbox/kitty-theme.nix rename to home-manager/common/software/gui/themes/gruvbox/kitty-theme.nix diff --git a/home-manager/default.nix b/home-manager/default.nix index 61a890ba..04d514e7 100644 --- a/home-manager/default.nix +++ b/home-manager/default.nix @@ -20,9 +20,7 @@ # User configs ./users/${username} ] - ++ lib.optional (builtins.isString desktop) ./common/software/gui/firefox.nix - ++ lib.optional (builtins.isString desktop) ./common/software/gui/thunderbird.nix - ++ lib.optional (builtins.isString desktop) ./common/software/gui/vscodium.nix + ++ lib.optional (builtins.isString desktop) ./common/software/gui # GUI packages ++ lib.optional (builtins.isString desktop) ./common/desktops/${desktop} # Machine-agnostic desktop configs ++ lib.optional (builtins.isString desktop) ./hosts/${hostname}/desktops/${desktop} # Machine-specific desktop configs ; diff --git a/lib/default.nix b/lib/default.nix index eea0dd3a..be8d75d9 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -6,7 +6,7 @@ username, desktop ? null, platform ? "x86_64-linux", - theme ? null + theme ? "default" }: inputs.home-manager.lib.homeManagerConfiguration { pkgs = inputs.nixpkgs.legacyPackages.${platform}; extraSpecialArgs = { inherit inputs outputs desktop hostname platform username hmStateVersion theme; }; @@ -24,7 +24,7 @@ installer ? null, gpu ? null, platform ? "x86_64-linux", - theme ? null + theme ? "default" }: inputs.nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs outputs desktop hostname username stateVersion gpu platform theme; }; modules = [