From 3d04d338d186ca6893159e9064bb27a3f4124846 Mon Sep 17 00:00:00 2001 From: Mohammad Rafiq Date: Thu, 27 Mar 2025 04:02:14 +0800 Subject: [PATCH] refactor: centralise home-manager configs in system configs --- configs/default.nix | 4 - configs/programs/ags.nix | 22 +++ {programs_temp => configs/programs}/ags/test | 0 configs/programs/clipse.nix | 9 ++ configs/programs/comma.nix | 11 ++ configs/programs/default.nix | 27 ++++ configs/programs/direnv.nix | 12 ++ configs/programs/dunst.nix | 5 + configs/programs/firefox.nix | 7 + configs/programs/fuzzel.nix | 15 ++ configs/programs/fzf.nix | 7 + configs/programs/git.nix | 21 +++ configs/programs/hyprland.nix | 128 ++++++++++++++++- configs/programs/hyprlock.nix | 1 + configs/programs/hyprshade.nix | 25 ++++ configs/programs/kitty.nix | 16 +++ configs/programs/nh.nix | 7 + configs/programs/nvf.nix | 88 ++++++++++++ .../programs}/nvf/input.nix | 0 .../programs}/nvf/languages.nix | 0 .../programs}/nvf/ui.nix | 0 .../programs}/nvf/utilities.nix | 0 configs/programs/spicetify.nix | 23 ++++ configs/programs/starship.nix | 16 +++ configs/programs/tealdeer.nix | 8 ++ configs/programs/yazi.nix | 129 ++++++++++++++++++ .../programs}/yazi/starship.toml | 0 configs/programs/zellij.nix | 14 ++ configs/programs/zoxide.nix | 7 + configs/programs/zsh.nix | 38 +++++- configs/scripts/default.nix | 22 +-- configs/users.nix | 63 ++++----- programs_temp/ags.nix | 20 --- programs_temp/btop.nix | 5 - programs_temp/clipse.nix | 7 - programs_temp/comma.nix | 9 -- programs_temp/direnv.nix | 9 -- programs_temp/dunst.nix | 3 - programs_temp/firefox.nix | 5 - programs_temp/fuzzel.nix | 13 -- programs_temp/fzf.nix | 7 - programs_temp/git.nix | 19 --- programs_temp/hyprland.nix | 121 ---------------- programs_temp/hyprshade.nix | 23 ---- programs_temp/kitty.nix | 14 -- programs_temp/nh.nix | 6 - programs_temp/nvf.nix | 86 ------------ programs_temp/spicetify.nix | 19 --- programs_temp/starship.nix | 15 -- programs_temp/tealdeer.nix | 7 - programs_temp/yazi.nix | 127 ----------------- programs_temp/zellij.nix | 12 -- programs_temp/zoxide.nix | 6 - programs_temp/zsh.nix | 37 ----- 54 files changed, 667 insertions(+), 628 deletions(-) create mode 100644 configs/programs/ags.nix rename {programs_temp => configs/programs}/ags/test (100%) create mode 100644 configs/programs/clipse.nix create mode 100644 configs/programs/comma.nix create mode 100644 configs/programs/default.nix create mode 100644 configs/programs/direnv.nix create mode 100644 configs/programs/dunst.nix create mode 100644 configs/programs/firefox.nix create mode 100644 configs/programs/fuzzel.nix create mode 100644 configs/programs/fzf.nix create mode 100644 configs/programs/git.nix create mode 100644 configs/programs/hyprshade.nix create mode 100644 configs/programs/kitty.nix create mode 100644 configs/programs/nh.nix create mode 100644 configs/programs/nvf.nix rename {programs_temp => configs/programs}/nvf/input.nix (100%) rename {programs_temp => configs/programs}/nvf/languages.nix (100%) rename {programs_temp => configs/programs}/nvf/ui.nix (100%) rename {programs_temp => configs/programs}/nvf/utilities.nix (100%) create mode 100644 configs/programs/spicetify.nix create mode 100644 configs/programs/starship.nix create mode 100644 configs/programs/tealdeer.nix create mode 100644 configs/programs/yazi.nix rename {programs_temp => configs/programs}/yazi/starship.toml (100%) create mode 100644 configs/programs/zellij.nix create mode 100644 configs/programs/zoxide.nix delete mode 100644 programs_temp/ags.nix delete mode 100644 programs_temp/btop.nix delete mode 100644 programs_temp/clipse.nix delete mode 100644 programs_temp/comma.nix delete mode 100644 programs_temp/direnv.nix delete mode 100644 programs_temp/dunst.nix delete mode 100644 programs_temp/firefox.nix delete mode 100644 programs_temp/fuzzel.nix delete mode 100644 programs_temp/fzf.nix delete mode 100644 programs_temp/git.nix delete mode 100644 programs_temp/hyprland.nix delete mode 100644 programs_temp/hyprshade.nix delete mode 100644 programs_temp/kitty.nix delete mode 100644 programs_temp/nh.nix delete mode 100644 programs_temp/nvf.nix delete mode 100644 programs_temp/spicetify.nix delete mode 100644 programs_temp/starship.nix delete mode 100644 programs_temp/tealdeer.nix delete mode 100644 programs_temp/yazi.nix delete mode 100644 programs_temp/zellij.nix delete mode 100644 programs_temp/zoxide.nix delete mode 100644 programs_temp/zsh.nix diff --git a/configs/default.nix b/configs/default.nix index 21d7517..4f321b9 100644 --- a/configs/default.nix +++ b/configs/default.nix @@ -13,7 +13,6 @@ ./boot.nix ./networking.nix ./nix-config.nix - ./programs/zsh.nix ./security.nix ./users.nix ] @@ -21,9 +20,6 @@ (lib.optionals (type == "desktop") [ ./hardware/audio.nix ./hardware/bluetooth.nix - ./programs/getty.nix - ./programs/hyprland.nix - ./programs/hyprlock.nix ./stylix.nix ]) # Options for specific hostnames. diff --git a/configs/programs/ags.nix b/configs/programs/ags.nix new file mode 100644 index 0000000..294addf --- /dev/null +++ b/configs/programs/ags.nix @@ -0,0 +1,22 @@ +{ inputs, pkgs, ... }: +{ + home-manager.users.rafiq = { + imports = [ inputs.ags.homeManagerModules.default ]; + + # Expose the cli tools to the home environment + home.packages = [ inputs.ags.packages.${pkgs.stdenv.hostPlatform.system}.io ]; + + programs.ags = { + enable = true; + configDir = ./ags; # ~/.config/ags + systemd.enable = false; + + # The module only includes the core astal3, astal4 and astal-io libraries + extraPackages = with pkgs; [ + # add packages to runtime + # inputs.ags.packages.${pkgs.system}.battery + # fzf + ]; + }; + }; +} diff --git a/programs_temp/ags/test b/configs/programs/ags/test similarity index 100% rename from programs_temp/ags/test rename to configs/programs/ags/test diff --git a/configs/programs/clipse.nix b/configs/programs/clipse.nix new file mode 100644 index 0000000..3294c28 --- /dev/null +++ b/configs/programs/clipse.nix @@ -0,0 +1,9 @@ +{ + home-manager.users.rafiq = { + services.clipse = { + enable = true; + historySize = 1000; + imageDisplay.type = "kitty"; + }; + }; +} diff --git a/configs/programs/comma.nix b/configs/programs/comma.nix new file mode 100644 index 0000000..1593200 --- /dev/null +++ b/configs/programs/comma.nix @@ -0,0 +1,11 @@ +{ inputs, ... }: +{ + home-manager.users.rafiq = { + imports = [ + inputs.nix-index-database.hmModules.nix-index + ]; + + programs.nix-index.enable = true; + programs.nix-index-database.comma.enable = true; + }; +} diff --git a/configs/programs/default.nix b/configs/programs/default.nix new file mode 100644 index 0000000..2e36a6a --- /dev/null +++ b/configs/programs/default.nix @@ -0,0 +1,27 @@ +{ + imports = [ + ./ags.nix + ./clipse.nix + ./comma.nix + ./zsh.nix + ./direnv.nix + ./dunst.nix + ./firefox.nix + ./fuzzel.nix + ./fzf.nix + ./getty.nix + ./git.nix + ./hyprland.nix + ./hyprlock.nix + ./hyprshade.nix + ./kitty.nix + ./nh.nix + ./nvf.nix + ./spicetify.nix + ./starship.nix + ./tealdeer.nix + ./yazi.nix + ./zellij.nix + ./zoxide.nix + ]; +} diff --git a/configs/programs/direnv.nix b/configs/programs/direnv.nix new file mode 100644 index 0000000..0647629 --- /dev/null +++ b/configs/programs/direnv.nix @@ -0,0 +1,12 @@ +{ + # direnv lets us declare a .envrc in each project directory + # and updates the shell with the packages specified. + + home-manager.users.rafiq = { + programs.direnv = { + enable = true; + enableBashIntegration = true; + nix-direnv.enable = true; + }; + }; +} diff --git a/configs/programs/dunst.nix b/configs/programs/dunst.nix new file mode 100644 index 0000000..1acd4ad --- /dev/null +++ b/configs/programs/dunst.nix @@ -0,0 +1,5 @@ +{ + home-manager.users.rafiq = { + services.dunst.enable = true; + }; +} diff --git a/configs/programs/firefox.nix b/configs/programs/firefox.nix new file mode 100644 index 0000000..55475fe --- /dev/null +++ b/configs/programs/firefox.nix @@ -0,0 +1,7 @@ +{ + home-manager.users.rafiq = { + programs.firefox = { + enable = true; + }; + }; +} diff --git a/configs/programs/fuzzel.nix b/configs/programs/fuzzel.nix new file mode 100644 index 0000000..fe49ca4 --- /dev/null +++ b/configs/programs/fuzzel.nix @@ -0,0 +1,15 @@ +{ + home-manager.users.rafiq = { + programs.fuzzel = { + enable = true; + settings = { + main = { + terminal = "kitty -1 -e"; + layer = "top"; + keyboard-focus = "on-demand"; + list-executables-in-path = true; + }; + }; + }; + }; +} diff --git a/configs/programs/fzf.nix b/configs/programs/fzf.nix new file mode 100644 index 0000000..ef02739 --- /dev/null +++ b/configs/programs/fzf.nix @@ -0,0 +1,7 @@ +{ + home-manager.users.rafiq = { + programs.fzf = { + enable = true; + }; + }; +} diff --git a/configs/programs/git.nix b/configs/programs/git.nix new file mode 100644 index 0000000..1e084e5 --- /dev/null +++ b/configs/programs/git.nix @@ -0,0 +1,21 @@ +{ config, ... }: +{ + home-manager.users.rafiq = { + home.sessionVariables.GIT_CONFIG_GLOBAL = "$HOME/.config/git/config"; + + programs.git = { + enable = true; + userName = "Mohammad Rafiq"; + userEmail = "mohammadrafiq567@gmail.com"; + signing.key = "~/.ssh/id_ed25519.pub"; + signing.signByDefault = true; + extraConfig = { + init.defaultBranch = "prime"; + push.autoSetupRemote = true; + pull.rebase = false; + core.editor = "nvim"; + gpg.format = "ssh"; + }; + }; + }; +} diff --git a/configs/programs/hyprland.nix b/configs/programs/hyprland.nix index 24e300f..27e14e3 100644 --- a/configs/programs/hyprland.nix +++ b/configs/programs/hyprland.nix @@ -2,10 +2,134 @@ inputs, pkgs, ... -}: { +}: +{ programs.hyprland = { enable = true; package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; - portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; + portalPackage = + inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; + }; + + home-manager.users.rafiq = { + home.sessionVariables.NIXOS_OZONE_WL = "1"; + wayland.windowManager.hyprland = { + enable = true; + package = null; + portalPackage = null; + settings = { + "$mainMonitor" = "desc:OOO AN-270W04K"; + "$vertMonitor" = "desc:Philips Consumer Electronics Company PHL 246V5 AU11330000086"; + "$mainMod" = "SUPER"; + "$terminal" = "kitty -1"; + "$multiplexer" = "$terminal -e zellij"; + "$browser" = "firefox"; + "$music" = "spotify"; + "$launcher" = "fuzzel"; + "$clipboard" = "$terminal --class clipse -e clipse"; + + # Programs to run at startup + exec-once = [ + "hyprlock" + "clipse -listen" + "hyprcloser" + ]; + + env = [ + "XCURSOR_SIZE,32" + + # Nvidia Settings + "LIBVA_DRIVER_NAME,nvidia" + "__GLX_VENDOR_LIBRARY_NAME,nvidia" + "NVD_BACKEND,direct # needed for running vaapi-driver on later drivers" + ]; + + # Monitors + monitor = [ + "$mainMonitor, 3840x2160@60, auto, auto" + "$vertMonitor, 1920x1080@60, auto-left, auto, transform, 3" + ", preferred, auto, 1" + ]; + + # Switching to the current workspace will switch to the previous + binds.workspace_back_and_forth = true; + cursor.default_monitor = "$mainMonitor"; + + # Windows + general = { + # Make there be no gaps in between windows or edges + border_size = 5; + gaps_in = 0; + gaps_out = 0; + + resize_on_border = true; + }; + + windowrulev2 = [ + "float, class:firefox, title:Picture-in-Picture" + "float, class:(clipse)" + "move cursor 0 0, class:(clipse)" + "size 622 652, class:(clipse)" + "noanim, class:(clipse)" + ]; + + animation = [ + "workspaces, 0, , " + ]; + + # Keybinds + bind = [ + "$mainMod, return, exec, $multiplexer" + "$mainMod, W, killactive" + "$mainMod, O, exec, $browser" + "$mainMod, Escape, exec, hyprlock" + "$mainMod, Space, exec, $launcher" + + # Launch utilities + "$mainMod_SHIFT, A, exec, hyprpicker -a" + "$mainMod, V, exec, $clipboard" + + # move between windows + "$mainMod, H, cyclenext, visible" + "$mainMod, L, cyclenext, visible prev" + + # HJKL to move a window + "$mainMod_ALT, H, movewindow, l" + "$mainMod_ALT, J, movewindow, d" + "$mainMod_ALT, K, movewindow, u" + "$mainMod_ALT, L, movewindow, r" + + # HJKL to resize a window + "ALT_SHIFT, H, resizeactive, -10% 0" + "ALT_SHIFT, J, resizeactive, 0 -10%" + "ALT_SHIFT, K, resizeactive, 0 10%" + "ALT_SHIFT, L, resizeactive, 10% 0" + + # H and L to move between workspaces on the current monitor including creation + "$mainMod_CTRL, H, workspace, r-1" + "$mainMod_CTRL, L, workspace, r+1" + ]; + + # Repeat when held + bindle = [ + # Keyboard Media Keys + ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+" + ", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%-" + ]; + + bindm = [ + "ALT, mouse:272, movewindow" + ]; + + input = { + numlock_by_default = true; + follow_mouse = 2; # Click on a window to change focus + }; + + debug = { + damage_tracking = 0; + }; + }; + }; }; } diff --git a/configs/programs/hyprlock.nix b/configs/programs/hyprlock.nix index 71e06ca..87c050d 100644 --- a/configs/programs/hyprlock.nix +++ b/configs/programs/hyprlock.nix @@ -46,6 +46,7 @@ in }; input-field = { + monitor = cfg.mainMonitor; fade_on_empty = true; size = "200, 45"; halign = "center"; diff --git a/configs/programs/hyprshade.nix b/configs/programs/hyprshade.nix new file mode 100644 index 0000000..bb9c313 --- /dev/null +++ b/configs/programs/hyprshade.nix @@ -0,0 +1,25 @@ +{ inputs, pkgs, ... }: +{ + home-manager.users.rafiq = { + home.packages = [ pkgs.hyprshade ]; + xdg.configFile."hypr/hyprshade.toml" = { + enable = true; + text = # toml + '' + [[shades]] + name = "vibrance" + default = true # will be activated when no other shader is scheduled + + [[shades]] + name = "blue-light-filter" + start_time = 22:00:00 + end_time = 08:00:00 # optional if more than one shader has start_time + ''; + }; + xdg.configFile."hypr/shaders" = { + enable = true; + recursive = true; + source = "${inputs.hyprshaders}/shaders"; + }; + }; +} diff --git a/configs/programs/kitty.nix b/configs/programs/kitty.nix new file mode 100644 index 0000000..1f1ea9a --- /dev/null +++ b/configs/programs/kitty.nix @@ -0,0 +1,16 @@ +{ + home-manager.users.rafiq = { + home.sessionVariables.TERMINAL = "kitty"; + programs.kitty = { + enable = true; + keybindings = { + "ctrl+equal" = "change_font_size current +2.0"; + "ctrl+minus" = "change_font_size current -2.0"; + }; + settings = { + window_padding_width = 10; + confirm_os_window_close = 0; + }; + }; + }; +} diff --git a/configs/programs/nh.nix b/configs/programs/nh.nix new file mode 100644 index 0000000..9b1a4b6 --- /dev/null +++ b/configs/programs/nh.nix @@ -0,0 +1,7 @@ +{ + home-manager.users.rafiq = { + programs.nh = { + enable = true; + }; + }; +} diff --git a/configs/programs/nvf.nix b/configs/programs/nvf.nix new file mode 100644 index 0000000..d3f4e5d --- /dev/null +++ b/configs/programs/nvf.nix @@ -0,0 +1,88 @@ +{ inputs, pkgs, ... }: +{ + home-manager.users.rafiq = { + imports = [ + inputs.nvf.homeManagerModules.default + ./nvf/input.nix + ./nvf/languages.nix + ./nvf/ui.nix + ./nvf/utilities.nix + ]; + home.sessionVariables.EDITOR = "nvim"; + programs.nvf = { + enable = true; + enableManpages = true; + settings.vim = { + viAlias = true; + vimAlias = true; + options = { + # Indentation + autoindent = true; + smartindent = true; + expandtab = true; + smarttab = true; + wrap = true; + shiftwidth = 2; + tabstop = 2; + foldlevel = 1000; # Open all folds by default + + # Search + hlsearch = true; + ignorecase = true; + incsearch = true; + smartcase = true; # case-sensitive if search contains uppercase + + # Visual + number = true; + cursorline = true; + visualbell = true; + termguicolors = true; + + # Input + backspace = "indent,eol,start"; + }; + keymaps = [ + { + desc = "Open the file path under the cursor, making the file if it doesn't exist."; + key = "gf"; + mode = "n"; + action = ":cd %:p:h:e "; + silent = true; + } + { + desc = "Delete the previous word."; + key = ""; + mode = "i"; + action = ""; + silent = true; + } + { + desc = "Open the filetree."; + key = "t"; + mode = "n"; + action = ":Yazi"; + silent = true; + } + ]; + luaConfigRC.turn_off_inline_diagnostics = + # lua + '' + vim.diagnostic.config({ + virtual_text = false -- turn off inline diagnostics + }) + ''; + extraPlugins = with pkgs.vimPlugins; { + yuck-vim = { + package = yuck-vim; + }; + nvim-treesitter-parsers = { + package = nvim-treesitter-parsers.yuck; + }; + nvim-parinfer = { + package = nvim-parinfer; + }; + }; + }; + }; + }; +} diff --git a/programs_temp/nvf/input.nix b/configs/programs/nvf/input.nix similarity index 100% rename from programs_temp/nvf/input.nix rename to configs/programs/nvf/input.nix diff --git a/programs_temp/nvf/languages.nix b/configs/programs/nvf/languages.nix similarity index 100% rename from programs_temp/nvf/languages.nix rename to configs/programs/nvf/languages.nix diff --git a/programs_temp/nvf/ui.nix b/configs/programs/nvf/ui.nix similarity index 100% rename from programs_temp/nvf/ui.nix rename to configs/programs/nvf/ui.nix diff --git a/programs_temp/nvf/utilities.nix b/configs/programs/nvf/utilities.nix similarity index 100% rename from programs_temp/nvf/utilities.nix rename to configs/programs/nvf/utilities.nix diff --git a/configs/programs/spicetify.nix b/configs/programs/spicetify.nix new file mode 100644 index 0000000..e76c714 --- /dev/null +++ b/configs/programs/spicetify.nix @@ -0,0 +1,23 @@ +{ + inputs, + pkgs, + ... +}: +let + spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.system}; +in +{ + home-manager.users.rafiq = { + imports = [ + inputs.spicetify-nix.homeManagerModules.spicetify + ]; + programs.spicetify = { + enable = true; + spotifyLaunchFlags = "--enable-features=UseOzonePlatform --ozone-platform=wayland"; + windowManagerPatch = true; + enabledCustomApps = with spicePkgs.apps; [ + marketplace + ]; + }; + }; +} diff --git a/configs/programs/starship.nix b/configs/programs/starship.nix new file mode 100644 index 0000000..744140b --- /dev/null +++ b/configs/programs/starship.nix @@ -0,0 +1,16 @@ +{ + home-manager.users.rafiq = { + programs.starship = { + enable = true; + settings = { + add_newline = false; + format = "$character"; + right_format = "$all"; + character = { + success_symbol = "[\\$](bold green)"; + error_symbol = "[\\$](bold red)"; + }; + }; + }; + }; +} diff --git a/configs/programs/tealdeer.nix b/configs/programs/tealdeer.nix new file mode 100644 index 0000000..abff51a --- /dev/null +++ b/configs/programs/tealdeer.nix @@ -0,0 +1,8 @@ +{ + home-manager.users.rafiq = { + programs.tealdeer = { + enable = true; + enableAutoUpdates = true; + }; + }; +} diff --git a/configs/programs/yazi.nix b/configs/programs/yazi.nix new file mode 100644 index 0000000..7e8a73a --- /dev/null +++ b/configs/programs/yazi.nix @@ -0,0 +1,129 @@ +{ + inputs, + pkgs, + ... +}: +let + yazi-plugins = pkgs.fetchFromGitHub { + owner = "yazi-rs"; + repo = "plugins"; + rev = "273019910c1111a388dd20e057606016f4bd0d17"; + hash = "sha256-80mR86UWgD11XuzpVNn56fmGRkvj0af2cFaZkU8M31I="; + }; +in +{ + home-manager.users.rafiq = { + programs.yazi = { + enable = true; + package = inputs.yazi.packages.${pkgs.system}.default; + shellWrapperName = "y"; + # yazi.toml + settings = { + manager = { + sort_by = "natural"; # Sort naturally, e.g. 1.md < 2.md < 10.md + sort_translit = true; # Transliterate filenames for sorting + show_hidden = true; + }; + plugin = { + prepend_preloaders = [ + { + mime = "{audio,video,image}/*"; + run = "mediainfo"; + } + { + mime = "application/subrip"; + run = "mediainfo"; + } + ]; + prepend_previewers = [ + { + name = "*.md"; + run = "glow"; + } + { + mime = "{audio,video,image}/*"; + run = "mediainfo"; + } + { + mime = "application/subrip"; + run = "mediainfo"; + } + ]; + prepend_fetchers = [ + { + id = "git"; + name = "*"; + run = "git"; + } + { + id = "git"; + name = "*/"; + run = "git"; + } + ]; + }; + }; + # ~/.config/yazi/keymap.toml + keymap = { + manager.prepend_keymap = [ + { + on = "l"; + run = "plugin smart-enter"; + desc = "Enter the child directory or open the file."; + } + { + on = "M"; + run = "plugin mount"; + desc = "Open the mount.yazi menu."; + } + ]; + }; + plugins = { + full-border = "${yazi-plugins}/full-border.yazi"; + smart-enter = "${yazi-plugins}/smart-enter.yazi"; + git = "${yazi-plugins}/git.yazi"; + mount = "${yazi-plugins}/mount.yazi"; + glow = pkgs.fetchFromGitHub { + owner = "Reledia"; + repo = "glow.yazi"; + rev = "c76bf4fb612079480d305fe6fe570bddfe4f99d3"; + sha256 = "sha256-DPud1Mfagl2z490f5L69ZPnZmVCa0ROXtFeDbEegBBU="; + }; + mediainfo = pkgs.fetchFromGitHub { + owner = "boydaihungst"; + repo = "mediainfo.yazi"; + rev = "447fe95239a488459cfdbd12f3293d91ac6ae0d7"; + sha256 = "sha256-U6rr3TrFTtnibrwJdJ4rN2Xco4Bt4QbwEVUTNXlWRps="; + }; + starship = pkgs.fetchFromGitHub { + owner = "Rolv-Apneseth"; + repo = "starship.yazi"; + rev = "6c639b474aabb17f5fecce18a4c97bf90b016512"; + sha256 = "sha256-bhLUziCDnF4QDCyysRn7Az35RAy8ibZIVUzoPgyEO1A="; + }; + }; + initLua = '' + require("full-border"):setup() + require("git"):setup() + require("starship"):setup({ + config_file = "${./yazi/starship.toml}", + }) + ''; + }; + home.packages = with pkgs; [ + jq # JSON preview + poppler_utils # PDF preview + _7zz # archive extraction and preview + ffmpeg + ffmpegthumbnailer # video thumbnails + fd # file searching + ripgrep # file content searching + fzf # quick file subtree navigation + zoxide # historical directories navigation + imagemagick # SVG, font, HEIC, JPEG preview + chafa # image/gif preview + glow # markdown preview + mediainfo # media metadata + ]; + }; +} diff --git a/programs_temp/yazi/starship.toml b/configs/programs/yazi/starship.toml similarity index 100% rename from programs_temp/yazi/starship.toml rename to configs/programs/yazi/starship.toml diff --git a/configs/programs/zellij.nix b/configs/programs/zellij.nix new file mode 100644 index 0000000..da51d89 --- /dev/null +++ b/configs/programs/zellij.nix @@ -0,0 +1,14 @@ +{ + home-manager.users.rafiq = { + programs.zellij = { + enable = true; + settings = { + mouse_mode = false; + keybinds.unbind = [ + "Ctrl h" + ]; + }; + }; + home.sessionVariables.ZELLIJ_AUTO_ATTACH = "true"; + }; +} diff --git a/configs/programs/zoxide.nix b/configs/programs/zoxide.nix new file mode 100644 index 0000000..b5b56e1 --- /dev/null +++ b/configs/programs/zoxide.nix @@ -0,0 +1,7 @@ +{ + home-manager.users.rafiq = { + programs.zoxide = { + enable = true; + }; + }; +} diff --git a/configs/programs/zsh.nix b/configs/programs/zsh.nix index ec02aba..5d2cff8 100644 --- a/configs/programs/zsh.nix +++ b/configs/programs/zsh.nix @@ -1,7 +1,41 @@ -{pkgs, ...}: { +{ + pkgs, + ... +}: +{ programs.zsh = { enable = true; }; users.defaultUserShell = pkgs.zsh; - environment.pathsToLink = ["/share/zsh"]; # enables completion + environment.pathsToLink = [ "/share/zsh" ]; # enables completion + home-manager.users.rafiq = { + programs.zsh = { + enable = true; + enableCompletion = true; + enableVteIntegration = true; + dirHashes = { + repos = "$HOME/GitRepos"; + dl = "$HOME/Downloads"; + }; + initContent = # zsh + '' + # Bind CTRL+Backspace to delete whole word + bindkey '^H' backward-kill-word + ''; + # TODO: Look into whether we need to add the history attribute + profileExtra = # bash + '' + if [ -z "$WAYLAND_DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then + dbus-run-session Hyprland + fi + ''; + plugins = [ + { + name = "vi-mode"; + src = pkgs.zsh-vi-mode; + file = "share/zsh-vi-mode/zsh-vi-mode.plugin.zsh"; + } + ]; + }; + }; } diff --git a/configs/scripts/default.nix b/configs/scripts/default.nix index 60cce83..61c3289 100644 --- a/configs/scripts/default.nix +++ b/configs/scripts/default.nix @@ -1,14 +1,16 @@ { pkgs, ... }: { - home.packages = [ - (pkgs.writers.writePython3Bin "git-extract" { - libraries = with pkgs.python3Packages; [ - magic - chardet - ]; - } (builtins.readFile ./git-extract.py)) + home-manager.users.rafiq = { + home.packages = [ + (pkgs.writers.writePython3Bin "git-extract" { + libraries = with pkgs.python3Packages; [ + magic + chardet + ]; + } (builtins.readFile ./git-extract.py)) - (pkgs.writeShellScriptBin "rebuild" (builtins.readFile ./rebuild.sh)) - (pkgs.writeShellScriptBin "byebye" (builtins.readFile ./byebye.sh)) - ]; + (pkgs.writeShellScriptBin "rebuild" (builtins.readFile ./rebuild.sh)) + (pkgs.writeShellScriptBin "byebye" (builtins.readFile ./byebye.sh)) + ]; + }; } diff --git a/configs/users.nix b/configs/users.nix index 69924cd..e3c6cd7 100644 --- a/configs/users.nix +++ b/configs/users.nix @@ -17,30 +17,24 @@ time.timeZone = "Asia/Singapore"; i18n.defaultLocale = "en_SG.UTF-8"; - home-manager.users.rafiq.imports = [ - ../programs_temp/ags.nix - ../programs_temp/btop.nix - ../programs_temp/clipse.nix - ../programs_temp/comma.nix - ../programs_temp/direnv.nix - ../programs_temp/dunst.nix - ../programs_temp/firefox.nix - ../programs_temp/fuzzel.nix - ../programs_temp/fzf.nix - ../programs_temp/git.nix - ../programs_temp/hyprland.nix - ../programs_temp/hyprshade.nix - ../programs_temp/kitty.nix - ../programs_temp/nh.nix - ../programs_temp/nvf.nix - ../programs_temp/spicetify.nix - ../programs_temp/starship.nix - ../programs_temp/tealdeer.nix - ../programs_temp/yazi.nix - ../programs_temp/zellij.nix - ../programs_temp/zoxide.nix - ../programs_temp/zsh.nix + users.users.rafiq = { + isNormalUser = true; + description = "rafiq"; + hashedPasswordFile = config.sops.secrets.password.path; + extraGroups = [ + "networkmanager" + "wheel" + ]; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdsZyY3gu8IGB8MzMnLdh+ClDxQQ2RYG9rkeetIKq8n" + ]; + }; + imports = [ ./scripts + ./programs + ]; + + home-manager.users.rafiq.imports = [ { # This enables using home-manager from the command line. programs.home-manager.enable = true; @@ -83,29 +77,18 @@ }; packages = with pkgs; [ - fastfetch # system info - wl-clipboard # provides cli copy and paste commands aichat # duh - ripgrep - devenv bat - ttyper + btop # add settings as home-manager module + devenv + fastfetch # system info hyprpicker inputs.hyprcloser.packages.${pkgs.stdenv.hostPlatform.system}.default + ripgrep + ttyper + wl-clipboard # provides cli copy and paste commands ]; }; } ]; - users.users.rafiq = { - isNormalUser = true; - description = "rafiq"; - hashedPasswordFile = config.sops.secrets.password.path; - extraGroups = [ - "networkmanager" - "wheel" - ]; - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdsZyY3gu8IGB8MzMnLdh+ClDxQQ2RYG9rkeetIKq8n" - ]; - }; } diff --git a/programs_temp/ags.nix b/programs_temp/ags.nix deleted file mode 100644 index 143cf93..0000000 --- a/programs_temp/ags.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ inputs, pkgs, ... }: -{ - imports = [ inputs.ags.homeManagerModules.default ]; - - # Expose the cli tools to the home environment - home.packages = [ inputs.ags.packages.${pkgs.stdenv.hostPlatform.system}.io ]; - - programs.ags = { - enable = true; - configDir = ./ags; # ~/.config/ags - systemd.enable = false; - - # The module only includes the core astal3, astal4 and astal-io libraries - extraPackages = with pkgs; [ - # add packages to runtime - # inputs.ags.packages.${pkgs.system}.battery - # fzf - ]; - }; -} diff --git a/programs_temp/btop.nix b/programs_temp/btop.nix deleted file mode 100644 index 4f1a73b..0000000 --- a/programs_temp/btop.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - programs.btop = { - enable = true; - }; -} diff --git a/programs_temp/clipse.nix b/programs_temp/clipse.nix deleted file mode 100644 index 149d79d..0000000 --- a/programs_temp/clipse.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - services.clipse = { - enable = true; - historySize = 1000; - imageDisplay.type = "kitty"; - }; -} diff --git a/programs_temp/comma.nix b/programs_temp/comma.nix deleted file mode 100644 index 618fe91..0000000 --- a/programs_temp/comma.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ inputs, ... }: -{ - imports = [ - inputs.nix-index-database.hmModules.nix-index - ]; - - programs.nix-index.enable = true; - programs.nix-index-database.comma.enable = true; -} diff --git a/programs_temp/direnv.nix b/programs_temp/direnv.nix deleted file mode 100644 index 4af2e38..0000000 --- a/programs_temp/direnv.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - # direnv lets us declare a .envrc in each project directory - # and updates the shell with the packages specified. - programs.direnv = { - enable = true; - enableBashIntegration = true; - nix-direnv.enable = true; - }; -} diff --git a/programs_temp/dunst.nix b/programs_temp/dunst.nix deleted file mode 100644 index f7a1138..0000000 --- a/programs_temp/dunst.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - services.dunst.enable = true; -} diff --git a/programs_temp/firefox.nix b/programs_temp/firefox.nix deleted file mode 100644 index 0f7103f..0000000 --- a/programs_temp/firefox.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - programs.firefox = { - enable = true; - }; -} diff --git a/programs_temp/fuzzel.nix b/programs_temp/fuzzel.nix deleted file mode 100644 index a4e8141..0000000 --- a/programs_temp/fuzzel.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ - programs.fuzzel = { - enable = true; - settings = { - main = { - terminal = "kitty -1 -e"; - layer = "top"; - keyboard-focus = "on-demand"; - list-executables-in-path = true; - }; - }; - }; -} diff --git a/programs_temp/fzf.nix b/programs_temp/fzf.nix deleted file mode 100644 index 46c47aa..0000000 --- a/programs_temp/fzf.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - programs.fzf = { - enable = true; - enableBashIntegration = true; - tmux.enableShellIntegration = true; - }; -} diff --git a/programs_temp/git.nix b/programs_temp/git.nix deleted file mode 100644 index 166ac67..0000000 --- a/programs_temp/git.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ config, ... }: -{ - home.sessionVariables.GIT_CONFIG_GLOBAL = "$HOME/.config/git/config"; - - programs.git = { - enable = true; - userName = "Mohammad Rafiq"; - userEmail = "mohammadrafiq567@gmail.com"; - signing.key = "~/.ssh/id_ed25519.pub"; - signing.signByDefault = true; - extraConfig = { - init.defaultBranch = "prime"; - push.autoSetupRemote = true; - pull.rebase = false; - core.editor = "nvim"; - gpg.format = "ssh"; - }; - }; -} diff --git a/programs_temp/hyprland.nix b/programs_temp/hyprland.nix deleted file mode 100644 index f3f552e..0000000 --- a/programs_temp/hyprland.nix +++ /dev/null @@ -1,121 +0,0 @@ -{ - home.sessionVariables.NIXOS_OZONE_WL = "1"; - wayland.windowManager.hyprland = { - enable = true; - package = null; - portalPackage = null; - settings = { - "$mainMonitor" = "desc:OOO AN-270W04K"; - "$vertMonitor" = "desc:Philips Consumer Electronics Company PHL 246V5 AU11330000086"; - "$mainMod" = "SUPER"; - "$terminal" = "kitty -1"; - "$multiplexer" = "$terminal -e zellij"; - "$browser" = "firefox"; - "$music" = "spotify"; - "$launcher" = "fuzzel"; - "$clipboard" = "$terminal --class clipse -e clipse"; - - # Programs to run at startup - exec-once = [ - "hyprlock" - "clipse -listen" - "hyprcloser" - ]; - - env = [ - "XCURSOR_SIZE,32" - - # Nvidia Settings - "LIBVA_DRIVER_NAME,nvidia" - "__GLX_VENDOR_LIBRARY_NAME,nvidia" - "NVD_BACKEND,direct # needed for running vaapi-driver on later drivers" - ]; - - # Monitors - monitor = [ - "$mainMonitor, 3840x2160@60, auto, auto" - "$vertMonitor, 1920x1080@60, auto-left, auto, transform, 3" - ", preferred, auto, 1" - ]; - - # Switching to the current workspace will switch to the previous - binds.workspace_back_and_forth = true; - cursor.default_monitor = "$mainMonitor"; - - # Windows - general = { - # Make there be no gaps in between windows or edges - border_size = 5; - gaps_in = 0; - gaps_out = 0; - - resize_on_border = true; - }; - - windowrulev2 = [ - "float, class:firefox, title:Picture-in-Picture" - "float, class:(clipse)" - "move cursor 0 0, class:(clipse)" - "size 622 652, class:(clipse)" - "noanim, class:(clipse)" - ]; - - animation = [ - "workspaces, 0, , " - ]; - - # Keybinds - bind = [ - "$mainMod, return, exec, $multiplexer" - "$mainMod, W, killactive" - "$mainMod, O, exec, $browser" - "$mainMod, Escape, exec, hyprlock" - "$mainMod, Space, exec, $launcher" - - # Launch utilities - "$mainMod_SHIFT, A, exec, hyprpicker -a" - "$mainMod, V, exec, $clipboard" - - # move between windows - "$mainMod, H, cyclenext, visible" - "$mainMod, L, cyclenext, visible prev" - - # HJKL to move a window - "$mainMod_ALT, H, movewindow, l" - "$mainMod_ALT, J, movewindow, d" - "$mainMod_ALT, K, movewindow, u" - "$mainMod_ALT, L, movewindow, r" - - # HJKL to resize a window - "ALT_SHIFT, H, resizeactive, -10% 0" - "ALT_SHIFT, J, resizeactive, 0 -10%" - "ALT_SHIFT, K, resizeactive, 0 10%" - "ALT_SHIFT, L, resizeactive, 10% 0" - - # H and L to move between workspaces on the current monitor including creation - "$mainMod_CTRL, H, workspace, r-1" - "$mainMod_CTRL, L, workspace, r+1" - ]; - - # Repeat when held - bindle = [ - # Keyboard Media Keys - ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+" - ", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%-" - ]; - - bindm = [ - "ALT, mouse:272, movewindow" - ]; - - input = { - numlock_by_default = true; - follow_mouse = 2; # Click on a window to change focus - }; - - debug = { - damage_tracking = 0; - }; - }; - }; -} diff --git a/programs_temp/hyprshade.nix b/programs_temp/hyprshade.nix deleted file mode 100644 index 8115897..0000000 --- a/programs_temp/hyprshade.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ inputs, pkgs, ... }: -{ - home.packages = [ pkgs.hyprshade ]; - xdg.configFile."hypr/hyprshade.toml" = { - enable = true; - text = # toml - '' - [[shades]] - name = "vibrance" - default = true # will be activated when no other shader is scheduled - - [[shades]] - name = "blue-light-filter" - start_time = 22:00:00 - end_time = 08:00:00 # optional if more than one shader has start_time - ''; - }; - xdg.configFile."hypr/shaders" = { - enable = true; - recursive = true; - source = "${inputs.hyprshaders}/shaders"; - }; -} diff --git a/programs_temp/kitty.nix b/programs_temp/kitty.nix deleted file mode 100644 index 79a7193..0000000 --- a/programs_temp/kitty.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ - home.sessionVariables.TERMINAL = "kitty"; - programs.kitty = { - enable = true; - keybindings = { - "ctrl+equal" = "change_font_size current +2.0"; - "ctrl+minus" = "change_font_size current -2.0"; - }; - settings = { - window_padding_width = 10; - confirm_os_window_close = 0; - }; - }; -} diff --git a/programs_temp/nh.nix b/programs_temp/nh.nix deleted file mode 100644 index b0f5d55..0000000 --- a/programs_temp/nh.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - programs.nh = { - enable = true; - }; -} - diff --git a/programs_temp/nvf.nix b/programs_temp/nvf.nix deleted file mode 100644 index 15f2e4e..0000000 --- a/programs_temp/nvf.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ inputs, pkgs, ... }: -{ - imports = [ - inputs.nvf.homeManagerModules.default - ./nvf/input.nix - ./nvf/languages.nix - ./nvf/ui.nix - ./nvf/utilities.nix - ]; - home.sessionVariables.EDITOR = "nvim"; - programs.nvf = { - enable = true; - enableManpages = true; - settings.vim = { - viAlias = true; - vimAlias = true; - options = { - # Indentation - autoindent = true; - smartindent = true; - expandtab = true; - smarttab = true; - wrap = true; - shiftwidth = 2; - tabstop = 2; - foldlevel = 1000; # Open all folds by default - - # Search - hlsearch = true; - ignorecase = true; - incsearch = true; - smartcase = true; # case-sensitive if search contains uppercase - - # Visual - number = true; - cursorline = true; - visualbell = true; - termguicolors = true; - - # Input - backspace = "indent,eol,start"; - }; - keymaps = [ - { - desc = "Open the file path under the cursor, making the file if it doesn't exist."; - key = "gf"; - mode = "n"; - action = ":cd %:p:h:e "; - silent = true; - } - { - desc = "Delete the previous word."; - key = ""; - mode = "i"; - action = ""; - silent = true; - } - { - desc = "Open the filetree."; - key = "t"; - mode = "n"; - action = ":Yazi"; - silent = true; - } - ]; - luaConfigRC.turn_off_inline_diagnostics = - # lua - '' - vim.diagnostic.config({ - virtual_text = false -- turn off inline diagnostics - }) - ''; - extraPlugins = with pkgs.vimPlugins; { - yuck-vim = { - package = yuck-vim; - }; - nvim-treesitter-parsers = { - package = nvim-treesitter-parsers.yuck; - }; - nvim-parinfer = { - package = nvim-parinfer; - }; - }; - }; - }; -} diff --git a/programs_temp/spicetify.nix b/programs_temp/spicetify.nix deleted file mode 100644 index d0055df..0000000 --- a/programs_temp/spicetify.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ - inputs, - pkgs, - ... -}: let - spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.system}; -in { - imports = [ - inputs.spicetify-nix.homeManagerModules.spicetify - ]; - programs.spicetify = { - enable = true; - spotifyLaunchFlags = "--enable-features=UseOzonePlatform --ozone-platform=wayland"; - windowManagerPatch = true; - enabledCustomApps = with spicePkgs.apps; [ - marketplace - ]; - }; -} diff --git a/programs_temp/starship.nix b/programs_temp/starship.nix deleted file mode 100644 index 8382bbb..0000000 --- a/programs_temp/starship.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ - # starship is a customisable prompt for any shell - programs.starship = { - enable = true; - settings = { - add_newline = false; - format = "$character"; - right_format = "$all"; - character = { - success_symbol = "[\\$](bold green)"; - error_symbol = "[\\$](bold red)"; - }; - }; - }; -} diff --git a/programs_temp/tealdeer.nix b/programs_temp/tealdeer.nix deleted file mode 100644 index 7cda930..0000000 --- a/programs_temp/tealdeer.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - # man page summaries (activate with tldr ) - programs.tealdeer = { - enable = true; - enableAutoUpdates = true; - }; -} diff --git a/programs_temp/yazi.nix b/programs_temp/yazi.nix deleted file mode 100644 index 62ccd72..0000000 --- a/programs_temp/yazi.nix +++ /dev/null @@ -1,127 +0,0 @@ -{ - inputs, - pkgs, - ... -}: -let - yazi-plugins = pkgs.fetchFromGitHub { - owner = "yazi-rs"; - repo = "plugins"; - rev = "273019910c1111a388dd20e057606016f4bd0d17"; - hash = "sha256-80mR86UWgD11XuzpVNn56fmGRkvj0af2cFaZkU8M31I="; - }; -in -{ - programs.yazi = { - enable = true; - package = inputs.yazi.packages.${pkgs.system}.default; - shellWrapperName = "y"; - # yazi.toml - settings = { - manager = { - sort_by = "natural"; # Sort naturally, e.g. 1.md < 2.md < 10.md - sort_translit = true; # Transliterate filenames for sorting - show_hidden = true; - }; - plugin = { - prepend_preloaders = [ - { - mime = "{audio,video,image}/*"; - run = "mediainfo"; - } - { - mime = "application/subrip"; - run = "mediainfo"; - } - ]; - prepend_previewers = [ - { - name = "*.md"; - run = "glow"; - } - { - mime = "{audio,video,image}/*"; - run = "mediainfo"; - } - { - mime = "application/subrip"; - run = "mediainfo"; - } - ]; - prepend_fetchers = [ - { - id = "git"; - name = "*"; - run = "git"; - } - { - id = "git"; - name = "*/"; - run = "git"; - } - ]; - }; - }; - # ~/.config/yazi/keymap.toml - keymap = { - manager.prepend_keymap = [ - { - on = "l"; - run = "plugin smart-enter"; - desc = "Enter the child directory or open the file."; - } - { - on = "M"; - run = "plugin mount"; - desc = "Open the mount.yazi menu."; - } - ]; - }; - plugins = { - full-border = "${yazi-plugins}/full-border.yazi"; - smart-enter = "${yazi-plugins}/smart-enter.yazi"; - git = "${yazi-plugins}/git.yazi"; - mount = "${yazi-plugins}/mount.yazi"; - glow = pkgs.fetchFromGitHub { - owner = "Reledia"; - repo = "glow.yazi"; - rev = "c76bf4fb612079480d305fe6fe570bddfe4f99d3"; - sha256 = "sha256-DPud1Mfagl2z490f5L69ZPnZmVCa0ROXtFeDbEegBBU="; - }; - mediainfo = pkgs.fetchFromGitHub { - owner = "boydaihungst"; - repo = "mediainfo.yazi"; - rev = "447fe95239a488459cfdbd12f3293d91ac6ae0d7"; - sha256 = "sha256-U6rr3TrFTtnibrwJdJ4rN2Xco4Bt4QbwEVUTNXlWRps="; - }; - starship = pkgs.fetchFromGitHub { - owner = "Rolv-Apneseth"; - repo = "starship.yazi"; - rev = "6c639b474aabb17f5fecce18a4c97bf90b016512"; - sha256 = "sha256-bhLUziCDnF4QDCyysRn7Az35RAy8ibZIVUzoPgyEO1A="; - }; - }; - initLua = '' - require("full-border"):setup() - require("git"):setup() - require("starship"):setup({ - config_file = "${./yazi/starship.toml}", - }) - ''; - }; - home.packages = with pkgs; [ - jq # JSON preview - poppler_utils # PDF preview - _7zz # archive extraction and preview - ffmpeg - ffmpegthumbnailer # video thumbnails - fd # file searching - ripgrep # file content searching - fzf # quick file subtree navigation - zoxide # historical directories navigation - imagemagick # SVG, font, HEIC, JPEG preview - chafa # image/gif preview - glow # markdown preview - mediainfo # media metadata - ]; -} diff --git a/programs_temp/zellij.nix b/programs_temp/zellij.nix deleted file mode 100644 index 7de5f38..0000000 --- a/programs_temp/zellij.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - programs.zellij = { - enable = true; - settings = { - mouse_mode = false; - keybinds.unbind = [ - "Ctrl h" - ]; - }; - }; - home.sessionVariables.ZELLIJ_AUTO_ATTACH = "true"; -} diff --git a/programs_temp/zoxide.nix b/programs_temp/zoxide.nix deleted file mode 100644 index ecd792e..0000000 --- a/programs_temp/zoxide.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - programs.zoxide = { - enable = true; - }; -} - diff --git a/programs_temp/zsh.nix b/programs_temp/zsh.nix deleted file mode 100644 index 337c785..0000000 --- a/programs_temp/zsh.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ - pkgs, - osConfig, - type, - ... -}: -{ - programs.zsh = { - enable = true; - enableCompletion = true; - enableVteIntegration = true; - dirHashes = { - repos = "$HOME/GitRepos"; - dl = "$HOME/Downloads"; - }; - initContent = # zsh - '' - # Bind CTRL+Backspace to delete whole word - bindkey '^H' backward-kill-word - export SYSTEM_TYPE="${type}" - ''; - # TODO: Look into whether we need to add the history attribute - profileExtra = # bash - '' - if [ -z "$WAYLAND_DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then - dbus-run-session Hyprland - fi - ''; - plugins = [ - { - name = "vi-mode"; - src = pkgs.zsh-vi-mode; - file = "share/zsh-vi-mode/zsh-vi-mode.plugin.zsh"; - } - ]; - }; -}