From ccfa6206a0a20d6461c8b55a0704ec97c1002f9d Mon Sep 17 00:00:00 2001 From: ooks-io Date: Sun, 30 Jul 2023 18:01:50 +1200 Subject: [PATCH] more changes to home. i'm trying my best over here okay? --- .../modules/feature/desktop/common/fonts.nix | 13 +++ .../modules/feature/desktop/common/gtk.nix | 30 +++++++ .../feature/desktop/common/pavucontrol.nix | 3 + .../modules/feature/desktop/common/qt.nix | 11 +++ .../feature/desktop/hyprland/config.nix | 79 +++++++++++++++++ home/ooks/modules/feature/shell/bash.nix | 5 ++ home/ooks/modules/feature/shell/bat.nix | 6 ++ home/ooks/modules/feature/shell/fish.nix | 84 +++++++++++++++++++ home/ooks/modules/feature/shell/git.nix | 8 ++ .../shell}/joshuto/config/bookmarks.toml | 0 .../shell}/joshuto/config/joshuto.toml | 0 .../shell}/joshuto/config/keymap.toml | 0 .../shell}/joshuto/config/mimetype.toml | 0 .../shell}/joshuto/config/preview_file.sh | 0 .../shell}/joshuto/config/theme.toml | 0 .../shell}/joshuto/default.nix | 0 home/ooks/modules/feature/shell/pfetch.nix | 8 ++ .../shell/starship.nix} | 0 18 files changed, 247 insertions(+) create mode 100644 home/ooks/modules/feature/desktop/common/fonts.nix create mode 100644 home/ooks/modules/feature/desktop/common/gtk.nix create mode 100644 home/ooks/modules/feature/desktop/common/pavucontrol.nix create mode 100644 home/ooks/modules/feature/desktop/common/qt.nix create mode 100644 home/ooks/modules/feature/desktop/hyprland/config.nix create mode 100644 home/ooks/modules/feature/shell/bash.nix create mode 100644 home/ooks/modules/feature/shell/bat.nix create mode 100644 home/ooks/modules/feature/shell/fish.nix create mode 100644 home/ooks/modules/feature/shell/git.nix rename home/ooks/modules/{programs => feature/shell}/joshuto/config/bookmarks.toml (100%) rename home/ooks/modules/{programs => feature/shell}/joshuto/config/joshuto.toml (100%) rename home/ooks/modules/{programs => feature/shell}/joshuto/config/keymap.toml (100%) rename home/ooks/modules/{programs => feature/shell}/joshuto/config/mimetype.toml (100%) rename home/ooks/modules/{programs => feature/shell}/joshuto/config/preview_file.sh (100%) rename home/ooks/modules/{programs => feature/shell}/joshuto/config/theme.toml (100%) rename home/ooks/modules/{programs => feature/shell}/joshuto/default.nix (100%) create mode 100644 home/ooks/modules/feature/shell/pfetch.nix rename home/ooks/modules/{programs/starship/default.nix => feature/shell/starship.nix} (100%) diff --git a/home/ooks/modules/feature/desktop/common/fonts.nix b/home/ooks/modules/feature/desktop/common/fonts.nix new file mode 100644 index 0000000..9d596e5 --- /dev/null +++ b/home/ooks/modules/feature/desktop/common/fonts.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: { + fontProfiles = { + enable = true; + monospace = { + family = "JetBrains Nerd Font"; + package = pkgs.nerdfonts.override { fonts = [ "JetBrains" ]; }; + }; + regular = { + family = "Fira Sans"; + package = pkgs.fira; + }; + }; +} diff --git a/home/ooks/modules/feature/desktop/common/gtk.nix b/home/ooks/modules/feature/desktop/common/gtk.nix new file mode 100644 index 0000000..f62d59e --- /dev/null +++ b/home/ooks/modules/feature/desktop/common/gtk.nix @@ -0,0 +1,30 @@ +{ config, pkgs, inputs, ... }: + +let + inherit (inputs.nix-colors.lib-contrib { inherit pkgs; }) gtkThemeFromScheme; +in +rec { + gtk = { + enable = true; + font = { + name = config.fontProfiles.regular.family; + size = 12; + }; + theme = { + name = "${config.colorscheme.slug}"; + package = gtkThemeFromScheme { scheme = config.colorscheme; }; + }; + iconTheme = { + name = "Papirus"; + package = pkgs.papirus-icon-theme; + }; + }; + + services.xsettingsd = { + enable = true; + settings = { + "Net/ThemeName" = "${gtk.theme.name}"; + "Net/IconThemeName" = "${gtk.iconTheme.name}"; + }; + }; +} diff --git a/home/ooks/modules/feature/desktop/common/pavucontrol.nix b/home/ooks/modules/feature/desktop/common/pavucontrol.nix new file mode 100644 index 0000000..e86872f --- /dev/null +++ b/home/ooks/modules/feature/desktop/common/pavucontrol.nix @@ -0,0 +1,3 @@ +{ pkgs, ... }: { + home.packages = with pkgs; [ pavucontrol ]; +} diff --git a/home/ooks/modules/feature/desktop/common/qt.nix b/home/ooks/modules/feature/desktop/common/qt.nix new file mode 100644 index 0000000..261768f --- /dev/null +++ b/home/ooks/modules/feature/desktop/common/qt.nix @@ -0,0 +1,11 @@ +{ pkgs, config, ... }: +{ + qt = { + enable = true; + platformTheme = "gtk"; + style = { + name = "gtk2"; + package = pkgs.qt6gtk2; + }; + }; +} diff --git a/home/ooks/modules/feature/desktop/hyprland/config.nix b/home/ooks/modules/feature/desktop/hyprland/config.nix new file mode 100644 index 0000000..ffa4abf --- /dev/null +++ b/home/ooks/modules/feature/desktop/hyprland/config.nix @@ -0,0 +1,79 @@ +{ home, colorscheme }: +let + inherit (home.sessionVariables) TERMINAL BROWSER EDITOR; +in + d +'' + general { + gaps_in=15 + gaps_out=20 + + border_size=2.7 + col.active_border=0xff${colorscheme.colors.base0C} + col.inactive_border=0xff${colorscheme.colors.base02} + col.group_border_active=0xff${colorscheme.colors.base0B} + col.group_border=0xff${colorscheme.colors.base04} + + cursor_inactive_timeout=4 + } + + decoration { + active_opacity=0.94 + inactive_opacity=0.84 + fullscreen_opacity=1.0 + + rounding=5 + + blur=true + blur_size=5 + blur_passes=3 + blur_new_optimizations=true + blur_ignore_opacity=true + + drop_shadow=true + shadow_range=12 + shadow_offset=3 3 + col.shadow=0x44000000 + col.shadow_inactive=0x66000000 + } + + animations { + enabled=true + + bezier=easein,0.11, 0, 0.5, 0 + bezier=easeout,0.5, 1, 0.89, 1 + bezier=easeinout,0.45, 0, 0.55, 1 + + animation=windowsIn,1,3,easeout,slide + animation=windowsOut,1,3,easein,slide + animation=windowsMove,1,3,easeout + + animation=fadeIn,1,3,easeout + animation=fadeOut,1,3,easein + animation=fadeSwitch,1,3,easeout + animation=fadeShadow,1,3,easeout + animation=fadeDim,1,3,easeout + animation=border,1,3,easeout + + animation=workspaces,1,2,easeout,slide + } + + misc { + animate_manual_resizes = false + enable_swallow = true + swallow_regex = ^(kitty)$ + focus_on_activate = true + disable_hyprland_logo = true + vfr = on + } + + dwindle { + pseudotile = yes + preserve_split = yes + } + + master { + new_is_master = true + } + + diff --git a/home/ooks/modules/feature/shell/bash.nix b/home/ooks/modules/feature/shell/bash.nix new file mode 100644 index 0000000..d515e49 --- /dev/null +++ b/home/ooks/modules/feature/shell/bash.nix @@ -0,0 +1,5 @@ +{ + programs.bash = { + enable = true; + }; +} diff --git a/home/ooks/modules/feature/shell/bat.nix b/home/ooks/modules/feature/shell/bat.nix new file mode 100644 index 0000000..145895e --- /dev/null +++ b/home/ooks/modules/feature/shell/bat.nix @@ -0,0 +1,6 @@ +{ + programs.bat = { + enable = true; + config.theme = "base16"; + }; +} diff --git a/home/ooks/modules/feature/shell/fish.nix b/home/ooks/modules/feature/shell/fish.nix new file mode 100644 index 0000000..32fe247 --- /dev/null +++ b/home/ooks/modules/feature/shell/fish.nix @@ -0,0 +1,84 @@ +{ pkgs, lib, config, ... }: +let + inherit (lib) mkIf; + hasPackage = pname: lib.any (p: p ? pname && p.pname == pname) config.home.packages; + hasRipgrep = hasPackage "ripgrep"; + hasExa = hasPackage "exa"; + hasNeovim = config.programs.neovim.enable; + hasKitty = config.programs.kitty.enable; +in +{ + programs.fish = { + enable = true; + shellAbbrs = rec { + jqless = "jq -C | less -r"; + + n = "nix"; + nd = "nix develop -c $SHELL"; + ns = "nix shell"; + nsn = "nix shell nixpkgs#"; + nb = "nix build"; + nbn = "nix build nixpkgs#"; + nf = "nix flake"; + + nr = "nixos-rebuild --flake ."; + nrs = "nixos-rebuild --flake . switch"; + snr = "sudo nixos-rebuild --flake ."; + snrs = "sudo nixos-rebuild --flake . switch"; + hm = "home-manager --flake ."; + hms = "home-manager --flake . switch"; + + ls = mkIf hasExa "exa"; + + vim = mkIf hasNeovim "nvim"; + + }; + functions = { + fish_greeting = ""; + }; + # kitty integration + '' + set --global KITTY_INSTALLATION_DIR "${pkgs.kitty}/lib/kitty" + set --global KITTY_SHELL_INTEGRATION enabled + source "$KITTY_INSTALLATION_DIR/shell-integration/fish/vendor_conf.d/kitty-shell-integration.fish" + set --prepend fish_complete_path "$KITTY_INSTALLATION_DIR/shell-integration/fish/vendor_completions.d" + '' + + # Use vim bindings and cursors + '' + fish_vi_key_bindings + set fish_cursor_default block blink + set fish_cursor_insert line blink + set fish_cursor_replace_one underscore blink + set fish_cursor_visual block + '' + + # Use terminal colors + '' + set -U fish_color_autosuggestion brblack + set -U fish_color_cancel -r + set -U fish_color_command brgreen + set -U fish_color_comment brmagenta + set -U fish_color_cwd green + set -U fish_color_cwd_root red + set -U fish_color_end brmagenta + set -U fish_color_error brred + set -U fish_color_escape brcyan + set -U fish_color_history_current --bold + set -U fish_color_host normal + set -U fish_color_match --background=brblue + set -U fish_color_normal normal + set -U fish_color_operator cyan + set -U fish_color_param brblue + set -U fish_color_quote yellow + set -U fish_color_redirection bryellow + set -U fish_color_search_match 'bryellow' '--background=brblack' + set -U fish_color_selection 'white' '--bold' '--background=brblack' + set -U fish_color_status red + set -U fish_color_user brgreen + set -U fish_color_valid_path --underline + set -U fish_pager_color_completion normal + set -U fish_pager_color_description yellow + set -U fish_pager_color_prefix 'white' '--bold' '--underline' + set -U fish_pager_color_progress 'brwhite' '--background=cyan' + ''; + }; +} diff --git a/home/ooks/modules/feature/shell/git.nix b/home/ooks/modules/feature/shell/git.nix new file mode 100644 index 0000000..0e4d97c --- /dev/null +++ b/home/ooks/modules/feature/shell/git.nix @@ -0,0 +1,8 @@ +{ + programs.git = { + enable = true; + package = pkgs.gitAndTools.gitFull; + userName = ooks-io; + userEmail = ooks@protonmail.com; + }; +} diff --git a/home/ooks/modules/programs/joshuto/config/bookmarks.toml b/home/ooks/modules/feature/shell/joshuto/config/bookmarks.toml similarity index 100% rename from home/ooks/modules/programs/joshuto/config/bookmarks.toml rename to home/ooks/modules/feature/shell/joshuto/config/bookmarks.toml diff --git a/home/ooks/modules/programs/joshuto/config/joshuto.toml b/home/ooks/modules/feature/shell/joshuto/config/joshuto.toml similarity index 100% rename from home/ooks/modules/programs/joshuto/config/joshuto.toml rename to home/ooks/modules/feature/shell/joshuto/config/joshuto.toml diff --git a/home/ooks/modules/programs/joshuto/config/keymap.toml b/home/ooks/modules/feature/shell/joshuto/config/keymap.toml similarity index 100% rename from home/ooks/modules/programs/joshuto/config/keymap.toml rename to home/ooks/modules/feature/shell/joshuto/config/keymap.toml diff --git a/home/ooks/modules/programs/joshuto/config/mimetype.toml b/home/ooks/modules/feature/shell/joshuto/config/mimetype.toml similarity index 100% rename from home/ooks/modules/programs/joshuto/config/mimetype.toml rename to home/ooks/modules/feature/shell/joshuto/config/mimetype.toml diff --git a/home/ooks/modules/programs/joshuto/config/preview_file.sh b/home/ooks/modules/feature/shell/joshuto/config/preview_file.sh similarity index 100% rename from home/ooks/modules/programs/joshuto/config/preview_file.sh rename to home/ooks/modules/feature/shell/joshuto/config/preview_file.sh diff --git a/home/ooks/modules/programs/joshuto/config/theme.toml b/home/ooks/modules/feature/shell/joshuto/config/theme.toml similarity index 100% rename from home/ooks/modules/programs/joshuto/config/theme.toml rename to home/ooks/modules/feature/shell/joshuto/config/theme.toml diff --git a/home/ooks/modules/programs/joshuto/default.nix b/home/ooks/modules/feature/shell/joshuto/default.nix similarity index 100% rename from home/ooks/modules/programs/joshuto/default.nix rename to home/ooks/modules/feature/shell/joshuto/default.nix diff --git a/home/ooks/modules/feature/shell/pfetch.nix b/home/ooks/modules/feature/shell/pfetch.nix new file mode 100644 index 0000000..5808519 --- /dev/null +++ b/home/ooks/modules/feature/shell/pfetch.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + home = { + packages = with pkgs; [ pfetch ]; + sessionVariables.PF_INFO = + "ascii title os kernel uptime shell desktop scheme palette"; + }; +} diff --git a/home/ooks/modules/programs/starship/default.nix b/home/ooks/modules/feature/shell/starship.nix similarity index 100% rename from home/ooks/modules/programs/starship/default.nix rename to home/ooks/modules/feature/shell/starship.nix