diff --git a/home/.profile b/home/.profile deleted file mode 100644 index e5b56b3..0000000 --- a/home/.profile +++ /dev/null @@ -1,21 +0,0 @@ -#region PATH -export GOPATH=$HOME/go -export PATH="$PATH:$HOME/.local/bin" -export PATH=$PATH:$GOROOT/bin:$GOPATH/bin -export PATH="$PATH:$HOME/.cargo/bin" -export PATH="$PATH:$HOME/.local/bin" -export PATH="$PATH:$HOME/.local/share/JetBrains/Toolbox/scripts" -#endregion PATH - -#region perl -export PATH="$HOME/perl5/bin${PATH:+:${PATH}}" -export PERL5LIB="$HOME/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}" -export PERL_LOCAL_LIB_ROOT="$HOME/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}" -export PERL_MB_OPT="--install_base \"$HOME/perl5\"" -export PERL_MM_OPT="INSTALL_BASE=$HOME/perl5" -#endregion perl - -#region editor -export EDITOR=vim -export VISUAL=vim -#endregion editor diff --git a/hosts/desktop/home.nix b/hosts/desktop/home.nix index 6f3b98a..28f7ae8 100644 --- a/hosts/desktop/home.nix +++ b/hosts/desktop/home.nix @@ -1,11 +1,13 @@ -{ pkgs, ... }: +{ ... }: { imports = [ ../../modules/home-manager/brave.nix ../../modules/home-manager/dconf-gnome-desktop.nix ../../modules/home-manager/dconf-gnome-extension-blur-my-shell.nix + ../../modules/home-manager/dconf-gnome-extensions.nix ../../modules/home-manager/dconf-input.nix + ../../modules/home-manager/dconf-nautilus.nix ../../modules/home-manager/git.nix ../../modules/home-manager/kitty.nix ../../modules/home-manager/osu.nix @@ -19,6 +21,10 @@ home.username = "pomp"; home.homeDirectory = "/home/pomp"; + home.file = { + ".zshrc".source = ../../home/.zshrc; + ".config/starship.toml".source = ../../home/.config/starship.toml; + }; gtk.gtk3.bookmarks = [ "file://$HOME/Downloads" @@ -31,6 +37,9 @@ "file://$HOME/Dev" ]; + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; + # 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. @@ -39,165 +48,4 @@ # want to update the value, then make sure to first check the Home Manager # release notes. home.stateVersion = "24.05"; # Please read the comment before changing. - - # The home.packages option allows you to install Nix packages into your - # environment. - home.packages = [ - # # Adds the 'hello' command to your environment. It prints a friendly - # # "Hello, world!" when run. - # pkgs.hello - - # # It is sometimes useful to fine-tune packages, for example, by applying - # # overrides. You can do that directly here, just don't forget the - # # parentheses. Maybe you want to install Nerd Fonts with a limited number of - # # fonts? - # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) - - # # You can also create simple shell scripts directly inside your - # # configuration. For example, this adds a command 'my-hello' to your - # # environment: - # (pkgs.writeShellScriptBin "my-hello" '' - # echo "Hello, ${config.home.username}!" - # '') - ]; - - # 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 - # ''; - - ".profile".source = ../../home/.profile; - ".zshrc".source = ../../home/.zshrc; - ".config/starship.toml".source = ../../home/.config/starship.toml; - }; - - # 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/pomp/etc/profile.d/hm-session-vars.sh - # - home.sessionVariables = { - # EDITOR = "emacs"; - }; - - dconf.settings = { - "org/gnome/settings-daemon/plugins/color" = { - night-light-enabled = false; - }; - - "org/gnome/settings-daemon/plugins/power" = { - idle-dim = true; - power-button-action = "suspend"; - sleep-inactive-ac-type = "nothing"; - }; - - "org/gnome/settings-daemon/plugins/xsettings" = { - antialiasing = "grayscale"; - hinting = "full"; - }; - - "org/gnome/mutter" = { - dynamic-workspaces = true; - edge-tiling = false; - experimental-features = [ - "kms-modifiers" - "variable-refresh-rate" - ]; - workspaces-only-on-primary = false; - }; - - "org/gnome/nautilus/preferences" = { - default-folder-viewer = "icon-view"; - search-filter-time-type = "last_modified"; - search-view = "list-view"; - show-create-link = true; - show-hidden-files = true; - }; - - "org/gnome/nautilus/compression" = { - default-compression-format = "zip"; - }; - - "org/gnome/nautilus/icon-view" = { - default-zoom-level = "small"; - }; - - "org/gnome/nautilus/list-view" = { - default-zoom-level = "larger"; - }; - - "org/gnome/shell" = { - disable-user-extensions = false; - enabled-extensions = with pkgs.gnomeExtensions; [ - appindicator.extensionUuid - bluetooth-battery-meter.extensionUuid - blur-my-shell.extensionUuid - lock-keys.extensionUuid - pop-shell.extensionUuid - tray-icons-reloaded.extensionUuid - gnome-40-ui-improvements.extensionUuid - user-themes.extensionUuid - ]; - }; - - "org/gnome/shell/extensions/lockkeys" = { - notification-preferences = "off"; - }; - - "org/gnome/shell/extensions/pop-shell" = { - active-hint = true; - active-hint-border-radius = 11; - gap-inner = 3; - gap-outer = 3; - hint-color-rgba = "rgb(36,138,118)"; - mouse-cursor-focus-location = 0; - pop-monitor-down = [ ]; - pop-monitor-left = [ ]; - pop-monitor-right = [ ]; - pop-monitor-up = [ ]; - pop-workspace-down = [ ]; - pop-workspace-up = [ ]; - show-skip-taskbar = false; - show-title = true; - smart-gaps = false; - stacking-with-mouse = false; - tile-by-default = true; - toggle-stacking-global = [ ]; - }; - - "org/gnome/shell/extensions/trayIconsReloaded" = { - icon-margin-horizontal = 0; - icon-padding-horizontal = 4; - icon-size = 20; - icons-limit = 8; - tray-margin-left = 0; - }; - - "org/gnome/shell/extensions/user-theme" = { - name = "Pop-dark"; - }; - }; - - # Let Home Manager install and manage itself. - programs.home-manager.enable = true; } diff --git a/hosts/laptop/home.nix b/hosts/laptop/home.nix index 253c874..af56845 100644 --- a/hosts/laptop/home.nix +++ b/hosts/laptop/home.nix @@ -1,11 +1,13 @@ -{ pkgs, ... }: +{ ... }: { imports = [ ../../modules/home-manager/brave.nix ../../modules/home-manager/dconf-gnome-desktop.nix ../../modules/home-manager/dconf-gnome-extension-blur-my-shell.nix + ../../modules/home-manager/dconf-gnome-extensions.nix ../../modules/home-manager/dconf-input.nix + ../../modules/home-manager/dconf-nautilus.nix ../../modules/home-manager/git.nix ../../modules/home-manager/kitty.nix ../../modules/home-manager/osu.nix @@ -18,6 +20,13 @@ home.username = "pomp"; home.homeDirectory = "/home/pomp"; + home.file = { + ".zshrc".source = ../../home/.zshrc; + ".config/starship.toml".source = ../../home/.config/starship.toml; + }; + + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; # This value determines the Home Manager release that your configuration is # compatible with. This helps avoid breakage when a new Home Manager release @@ -27,165 +36,4 @@ # want to update the value, then make sure to first check the Home Manager # release notes. home.stateVersion = "24.05"; # Please read the comment before changing. - - # The home.packages option allows you to install Nix packages into your - # environment. - home.packages = [ - # # Adds the 'hello' command to your environment. It prints a friendly - # # "Hello, world!" when run. - # pkgs.hello - - # # It is sometimes useful to fine-tune packages, for example, by applying - # # overrides. You can do that directly here, just don't forget the - # # parentheses. Maybe you want to install Nerd Fonts with a limited number of - # # fonts? - # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) - - # # You can also create simple shell scripts directly inside your - # # configuration. For example, this adds a command 'my-hello' to your - # # environment: - # (pkgs.writeShellScriptBin "my-hello" '' - # echo "Hello, ${config.home.username}!" - # '') - ]; - - # 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 - # ''; - - ".profile".source = ../../home/.profile; - ".zshrc".source = ../../home/.zshrc; - ".config/starship.toml".source = ../../home/.config/starship.toml; - }; - - # 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/pomp/etc/profile.d/hm-session-vars.sh - # - home.sessionVariables = { - # EDITOR = "emacs"; - }; - - dconf.settings = { - "org/gnome/settings-daemon/plugins/color" = { - night-light-enabled = false; - }; - - "org/gnome/settings-daemon/plugins/power" = { - idle-dim = true; - power-button-action = "suspend"; - sleep-inactive-ac-type = "nothing"; - }; - - "org/gnome/settings-daemon/plugins/xsettings" = { - antialiasing = "grayscale"; - hinting = "full"; - }; - - "org/gnome/mutter" = { - dynamic-workspaces = true; - edge-tiling = false; - experimental-features = [ - "kms-modifiers" - "variable-refresh-rate" - ]; - workspaces-only-on-primary = false; - }; - - "org/gnome/nautilus/preferences" = { - default-folder-viewer = "icon-view"; - search-filter-time-type = "last_modified"; - search-view = "list-view"; - show-create-link = true; - show-hidden-files = true; - }; - - "org/gnome/nautilus/compression" = { - default-compression-format = "zip"; - }; - - "org/gnome/nautilus/icon-view" = { - default-zoom-level = "small"; - }; - - "org/gnome/nautilus/list-view" = { - default-zoom-level = "larger"; - }; - - "org/gnome/shell" = { - disable-user-extensions = false; - enabled-extensions = with pkgs.gnomeExtensions; [ - appindicator.extensionUuid - bluetooth-battery-meter.extensionUuid - blur-my-shell.extensionUuid - lock-keys.extensionUuid - pop-shell.extensionUuid - tray-icons-reloaded.extensionUuid - gnome-40-ui-improvements.extensionUuid - user-themes.extensionUuid - ]; - }; - - "org/gnome/shell/extensions/lockkeys" = { - notification-preferences = "off"; - }; - - "org/gnome/shell/extensions/pop-shell" = { - active-hint = true; - active-hint-border-radius = 11; - gap-inner = 3; - gap-outer = 3; - hint-color-rgba = "rgb(36,138,118)"; - mouse-cursor-focus-location = 0; - pop-monitor-down = [ ]; - pop-monitor-left = [ ]; - pop-monitor-right = [ ]; - pop-monitor-up = [ ]; - pop-workspace-down = [ ]; - pop-workspace-up = [ ]; - show-skip-taskbar = false; - show-title = true; - smart-gaps = false; - stacking-with-mouse = false; - tile-by-default = true; - toggle-stacking-global = [ ]; - }; - - "org/gnome/shell/extensions/trayIconsReloaded" = { - icon-margin-horizontal = 0; - icon-padding-horizontal = 4; - icon-size = 20; - icons-limit = 8; - tray-margin-left = 0; - }; - - "org/gnome/shell/extensions/user-theme" = { - name = "Pop-dark"; - }; - }; - - # Let Home Manager install and manage itself. - programs.home-manager.enable = true; } diff --git a/modules/home-manager/dconf-gnome-desktop.nix b/modules/home-manager/dconf-gnome-desktop.nix index eee69c2..0813d7c 100644 --- a/modules/home-manager/dconf-gnome-desktop.nix +++ b/modules/home-manager/dconf-gnome-desktop.nix @@ -21,5 +21,30 @@ locate-pointer = false; show-battery-percentage = true; }; + + "org/gnome/settings-daemon/plugins/color" = { + night-light-enabled = false; + }; + + "org/gnome/settings-daemon/plugins/power" = { + idle-dim = true; + power-button-action = "suspend"; + sleep-inactive-ac-type = "nothing"; + }; + + "org/gnome/settings-daemon/plugins/xsettings" = { + antialiasing = "grayscale"; + hinting = "full"; + }; + + "org/gnome/mutter" = { + dynamic-workspaces = true; + edge-tiling = false; + experimental-features = [ + "kms-modifiers" + "variable-refresh-rate" + ]; + workspaces-only-on-primary = false; + }; }; } diff --git a/modules/home-manager/dconf-gnome-extensions.nix b/modules/home-manager/dconf-gnome-extensions.nix new file mode 100644 index 0000000..0ca0407 --- /dev/null +++ b/modules/home-manager/dconf-gnome-extensions.nix @@ -0,0 +1,56 @@ +{ pkgs, ... }: + +{ + dconf.settings = { + "org/gnome/shell" = { + disable-user-extensions = false; + enabled-extensions = with pkgs.gnomeExtensions; [ + appindicator.extensionUuid + bluetooth-battery-meter.extensionUuid + blur-my-shell.extensionUuid + lock-keys.extensionUuid + pop-shell.extensionUuid + tray-icons-reloaded.extensionUuid + gnome-40-ui-improvements.extensionUuid + user-themes.extensionUuid + ]; + }; + + "org/gnome/shell/extensions/lockkeys" = { + notification-preferences = "off"; + }; + + "org/gnome/shell/extensions/pop-shell" = { + active-hint = true; + active-hint-border-radius = 11; + gap-inner = 3; + gap-outer = 3; + hint-color-rgba = "rgb(36,138,118)"; + mouse-cursor-focus-location = 0; + pop-monitor-down = [ ]; + pop-monitor-left = [ ]; + pop-monitor-right = [ ]; + pop-monitor-up = [ ]; + pop-workspace-down = [ ]; + pop-workspace-up = [ ]; + show-skip-taskbar = false; + show-title = true; + smart-gaps = false; + stacking-with-mouse = false; + tile-by-default = true; + toggle-stacking-global = [ ]; + }; + + "org/gnome/shell/extensions/trayIconsReloaded" = { + icon-margin-horizontal = 0; + icon-padding-horizontal = 4; + icon-size = 20; + icons-limit = 8; + tray-margin-left = 0; + }; + + "org/gnome/shell/extensions/user-theme" = { + name = "Pop-dark"; + }; + }; +} diff --git a/modules/home-manager/dconf-nautilus.nix b/modules/home-manager/dconf-nautilus.nix new file mode 100644 index 0000000..782c8a9 --- /dev/null +++ b/modules/home-manager/dconf-nautilus.nix @@ -0,0 +1,25 @@ +{ ... }: + +{ + dconf.settings = { + "org/gnome/nautilus/preferences" = { + default-folder-viewer = "icon-view"; + search-filter-time-type = "last_modified"; + search-view = "list-view"; + show-create-link = true; + show-hidden-files = true; + }; + + "org/gnome/nautilus/compression" = { + default-compression-format = "zip"; + }; + + "org/gnome/nautilus/icon-view" = { + default-zoom-level = "small"; + }; + + "org/gnome/nautilus/list-view" = { + default-zoom-level = "larger"; + }; + }; +}