diff options
Diffstat (limited to 'unmoved-modules/home-manager')
29 files changed, 1206 insertions, 0 deletions
diff --git a/unmoved-modules/home-manager/default.nix b/unmoved-modules/home-manager/default.nix new file mode 100644 index 0000000..7b91f74 --- /dev/null +++ b/unmoved-modules/home-manager/default.nix @@ -0,0 +1,79 @@ +{ pkgs, lib, config, inputs, ... }: + +{ + imports = [ + ./hypr + #./mangowc + ./git.nix + # ./vscodium.nix + ./kitty.nix + ./zen-browser.nix + ./obs.nix + # ./spicetify.nix + ./yazi.nix + ./fastfetch.nix + ./gaming.nix + # ./rbw.nix + ./nvf.nix + ./lazygit.nix + ./spotify-player.nix + ]; + + home.packages = with pkgs; [ + dconf + bitwarden-desktop + hyprshot + wineWow64Packages.stable + winetricks + motrix + flashprint + gvfs + brave + hyprpicker + discord + openvpn + qbittorrent + zoom-us + obsidian + cryptomator + networkmanagerapplet + libreoffice + gimp3 + vlc + ungoogled-chromium + audacity + speedtest-cli + kid3 + feishin + bluetui + btop + openjdk + thunderbird + ]; + + home.sessionVariables = { + EDITOR = "vi"; + VISUAL = "vi"; + }; + + xdg.configFile."mimeapps.list".force = true; + + xdg.mimeApps = { + enable = true; + + defaultApplications = { + "application/pdf" = "zen-twilight.desktop"; + "application/javascript" = "userapp-kitty vi-DARLE3.desktop"; + "application/toml" = "userapp-kitty vi-DARLE3.desktop"; + "application/vnd.microsoft.portable-executable" = "wine-desktop"; + "application/zip" = "lxqt-archiver.desktop"; + "inode/directory" = "userapp-kitty yazi-X3BEF3.desktop"; + "text/html" = "zen-twilight.desktop"; + "text/plain" = "userapp-kitty vi-DARLE3.desktop"; + "x-scheme-handler/about" = "zen-twilight.desktop"; + "x-scheme-handler/http" = "zen-twilight.desktop"; + "x-scheme-handler/https" = "zen-twilight.desktop"; + "x-scheme-handler/unknown" = "zen-twilight.desktop"; + }; + }; +} diff --git a/unmoved-modules/home-manager/fastfetch-logo.txt b/unmoved-modules/home-manager/fastfetch-logo.txt new file mode 100644 index 0000000..b3bc376 --- /dev/null +++ b/unmoved-modules/home-manager/fastfetch-logo.txt @@ -0,0 +1,17 @@ + * * + * * * + * * * * * + * * * * * + * * * * * * * + * * * * * .# * * + * * * #. .# * * + * "#. #: #" * * * + * * * "#. ##" * + * "### + "## + ##. + .##: + :### + ;### + ,####. +/\/\/\/\/\/.######.\/\/\/\/\ diff --git a/unmoved-modules/home-manager/fastfetch.nix b/unmoved-modules/home-manager/fastfetch.nix new file mode 100644 index 0000000..74f0820 --- /dev/null +++ b/unmoved-modules/home-manager/fastfetch.nix @@ -0,0 +1,61 @@ +{ + programs.fastfetch = { + enable = true; + + settings = { + logo = { + source = ./fastfetch-logo.txt; # ascii art by Joan G. Stark + padding = { + right = 2; + left = 1; + top = 2; + }; + color = { + "1" = "bright_green"; + }; + }; + + display = { + color = "bright_green"; + }; + + modules = [ + "title" + "separator" + { + type = "datetime"; + key = "Date"; + format = "{weekday}, {year}-{month-pretty}-{day-in-month}"; + } + { + type = "datetime"; + key = "Time"; + format = "{hour-pretty}:{minute-pretty}:{second-pretty}, {timezone-name}, UTC{offset-from-utc}"; + } + "uptime" + { + type = "battery"; + key = "Battery"; + format = "{capacity}, {time-formatted} [{status}]"; + } + "separator" + "os" + "host" + "kernel" + "packages" + "shell" + "display" + "wm" + "separator" + "cpu" + "gpu" + "memory" + "swap" + "disk" + "localip" + "break" + "colors" + ]; + }; + }; +}
\ No newline at end of file diff --git a/unmoved-modules/home-manager/gaming.nix b/unmoved-modules/home-manager/gaming.nix new file mode 100644 index 0000000..3222fc2 --- /dev/null +++ b/unmoved-modules/home-manager/gaming.nix @@ -0,0 +1,37 @@ +{ config, pkgs, lib, inputs, ... }: + +{ + options = { + gaming.enable = lib.mkEnableOption "enables gaming module"; + }; + + config = lib.mkIf config.gaming.enable { + home.packages = [ + pkgs.prismlauncher + pkgs.cemu + pkgs.ryubing + ]; + + programs.lutris = { + enable = true; + runners = { + cemu.package = pkgs.cemu; + ryujinx.package = pkgs.ryubing; + }; + steamPackage = pkgs.steam; + winePackages = with pkgs.wineWow64Packages; [ + stable + ]; + extraPackages = with pkgs; [ + gamemode + umu-launcher + winetricks + mangohud + gamescope + ]; + protonPackages = with pkgs; [ + proton-ge-bin + ]; + }; + }; +} diff --git a/unmoved-modules/home-manager/git.nix b/unmoved-modules/home-manager/git.nix new file mode 100644 index 0000000..7216282 --- /dev/null +++ b/unmoved-modules/home-manager/git.nix @@ -0,0 +1,11 @@ +{ config, pkgs, lib, inputs, ... }: + +{ + programs.git = { + enable = true; + settings = { + init.defaultBranch = "main"; + safe.directory = "/etc/nixos"; + }; + }; +} diff --git a/unmoved-modules/home-manager/hypr/autostart.nix b/unmoved-modules/home-manager/hypr/autostart.nix new file mode 100644 index 0000000..048afcc --- /dev/null +++ b/unmoved-modules/home-manager/hypr/autostart.nix @@ -0,0 +1,14 @@ +{ config, lib, inputs, ... }: + +# very broken, fix later + +{ + config = lib.mkIf config.hyprland.enable { + wayland.windowManager.hyprland.settings = { + exec-once = [ + "[workspace 1 silent] zen-browser" + "[workspace 7 silent] equibop" + ]; + }; + }; +} diff --git a/unmoved-modules/home-manager/hypr/binds.nix b/unmoved-modules/home-manager/hypr/binds.nix new file mode 100644 index 0000000..00cc3ce --- /dev/null +++ b/unmoved-modules/home-manager/hypr/binds.nix @@ -0,0 +1,94 @@ +{ config, lib, ... }: + +{ + config = lib.mkIf config.hyprland.enable { + wayland.windowManager.hyprland.settings.binds = { + "$mod" = "SUPER"; + "$term" = "kitty"; + "$filem" = "kitty yazi"; + + bind = [ + "$mod SHIFT, K, exec, hyprlock" + "$mod, P, exec, hyprpicker" + # "$mod, RETURN, exec, pypr toggle kitty" + + "$mod, F1, exec, rofi -show drun" + "$mod, F2, exec, $term" + "$mod, F3, exec, $filem" + "$mod, F4, killactive," + "$mod SHIFT, F4, exec, hyprctl kill" + + "$mod, F, fullscreen" + "$mod, T, togglefloating" + + "$mod, 1, workspace, 1" + "$mod, 2, workspace, 2" + "$mod, 3, workspace, 3" + "$mod, 4, workspace, 4" + "$mod, 5, workspace, 5" + "$mod, 6, workspace, 6" + "$mod, 7, workspace, 7" + "$mod, 8, workspace, 8" + "$mod, 9, workspace, 9" + "$mod, 0, workspace, 10" + + "$mod SHIFT, 1, movetoworkspace, 1" + "$mod SHIFT, 2, movetoworkspace, 2" + "$mod SHIFT, 3, movetoworkspace, 3" + "$mod SHIFT, 4, movetoworkspace, 4" + "$mod SHIFT, 5, movetoworkspace, 5" + "$mod SHIFT, 6, movetoworkspace, 6" + "$mod SHIFT, 7, movetoworkspace, 7" + "$mod SHIFT, 8, movetoworkspace, 8" + "$mod SHIFT, 9, movetoworkspace, 9" + "$mod SHIFT, 0, movetoworkspace, 10" + + "$mod, H, movefocus, l" + "$mod, J, movefocus, d" + "$mod, K, movefocus, u" + "$mod, L, movefocus, r" + + "$mod SHIFT, c, exec, xsel -bc" + + "$mod, C, exec, rofi -show calc" + + ", PRINT, exec, hyprshot -m region -o ~/Documents/screenshots" + "SHIFT, PRINT, exec, hyprshot -m region --clipboard-only" + + "$mod SHIFT CTRL ALT, L, exec, xdg-open https://linkedin.com" # important bind + ]; + + bindm = [ + "$mod, mouse:272, movewindow" + "$mod, mouse:273, resizewindow" + "$mod SHIFT, mouse:272, resizewindow" + ]; + + bindl = [ + ", XF86AudioPrev, exec, playerctl --player=Feishin previous" + ", XF86AudioNext, exec, playerctl --player=Feishin next" + ", XF86AudioPause, exec, playerctl --player=Feishin play-pause" + ", XF86AudioPlay, exec, playerctl --player=Feishin play-pause" + "$mod, XF86AudioPrev, exec, playerctl --player=Feishin loop none" + "$mod, XF86AudioPause, exec, playerctl --player=Feishin loop playlist" + "$mod, XF86AudioPlay, exec, playerctl --player=Feishin loop playlist" + "$mod, XF86AudioNext, exec, playerctl --player=Feishin loop track" + "$mod, XF86AudioStop, exec, playerctl --player=Feishin shuffle toggle" + ", XF86AudioStop, exec, playerctl -a stop" + + "$mod SHIFT, L, exec, hyprctl dispatch dpms toggle" + ",switch:Lid Switch, exec, pidof hyprlock || hyprlock" + + "$mod, M, exit," + ]; + + bindel = [ + "$mod,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" + "$mod,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" + ",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" + ", XF86MonBrightnessUp, exec, brightnessctl set 10%+" + ", XF86MonBrightnessDown, exec, brightnessctl set 10%-" + ]; + }; + }; +} diff --git a/unmoved-modules/home-manager/hypr/camdenyards.jpg b/unmoved-modules/home-manager/hypr/camdenyards.jpg Binary files differnew file mode 100644 index 0000000..4601318 --- /dev/null +++ b/unmoved-modules/home-manager/hypr/camdenyards.jpg diff --git a/unmoved-modules/home-manager/hypr/decoration.nix b/unmoved-modules/home-manager/hypr/decoration.nix new file mode 100644 index 0000000..e9d5dfe --- /dev/null +++ b/unmoved-modules/home-manager/hypr/decoration.nix @@ -0,0 +1,28 @@ +{ config, lib, inputs, ... }: + +{ + config = lib.mkIf config.hyprland.enable { + wayland.windowManager.hyprland.settings = { + decoration = { + rounding = 0; + }; + + animations = { + enabled = false; + }; + + workspace = [ + "w[tv1], gapsout:0, gapsin:0" + "f[1], gapsout:0, gapsin:0" + ]; + + windowrule = [ + "border_size 0, match:float 0, match:workspace w[tv1]" + "rounding 0, match:float 0, match:workspace w[tv1]" + "border_size 0, match:float 0, match:workspace f[1]" + "rounding 0, match:float 0, match:workspace f[1]" + ]; + + }; + }; +} diff --git a/unmoved-modules/home-manager/hypr/default.nix b/unmoved-modules/home-manager/hypr/default.nix new file mode 100644 index 0000000..2ec9301 --- /dev/null +++ b/unmoved-modules/home-manager/hypr/default.nix @@ -0,0 +1,140 @@ +{ config, pkgs, lib, inputs, ... }: + +{ + options = { + hyprland.enable = lib.mkEnableOption "enables hyprland"; + }; + + imports = [ + ./decoration.nix + ./binds.nix + ./input.nix + ./waybar-hyprland.nix + ./hyprlock.nix + ./hypridle.nix + ./hyprpaper.nix + ./rofi-hyprland.nix + ]; + + config = lib.mkIf config.hyprland.enable { + #fixing issues + + xdg.portal = { + enable = true; + + config = { + common = { + default = [ "hyprland" ]; + }; + }; + + extraPortals = with pkgs; [ + xdg-desktop-portal-hyprland + ]; + }; + + home.packages = with pkgs; [ + # pyprland + ]; + + home.file.".config/hypr/pyprland.toml".source = ./pyprland.toml; + + home.sessionVariables.NIXOS_OZONE_WL = "1"; + + home.pointerCursor = { + gtk.enable = true; + # x11.enable = true; + package = pkgs.bibata-cursors; + name = "Bibata-Modern-Classic"; + size = 12; + }; + + gtk = { + enable = true; + + theme = { + package = pkgs.flat-remix-gtk; + name = "Flat-Remix-GTK-Grey-Darkest"; + }; + + iconTheme = { + package = pkgs.adwaita-icon-theme; + name = "Adwaita"; + }; + + font = { + name = "Sans"; + size = 11; + }; + + gtk3.extraConfig = { + gtk-application-prefer-dark-theme = true; + }; + + gtk4.extraConfig = { + gtk-application-prefer-dark-theme = true; + }; + }; + + wayland.windowManager.hyprland.systemd.variables = ["--all"]; + + # ok now actually hyprland + + wayland.windowManager.hyprland = { + enable = true; + xwayland.enable = true; + + settings = { + exec-once = [ + "lxqt-policykit-agent" + "waybar" + "hyprpaper" + "waypaper --restore" + # "pypr" + ]; + + # environment variables + env = [ + "XCURSOR_SIZE,24" + "HYPRCURSOR_SIZE,24" + ]; + + general = { + gaps_in = 0; + gaps_out = 0; + + border_size = 1; + + # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors + "col.active_border" = "rgba(7DAeA3ee) rgba(89B482ee) 45deg"; + "col.inactive_border" = "rgba(504945ee)"; + + # Set to true enable resizing windows by clicking and dragging on borders and gaps + resize_on_border = false; + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false; + + layout = "dwindle"; + }; + + misc = { + force_default_wallpaper = 1; + disable_hyprland_logo = false; + vfr = true; + }; + + dwindle = { + pseudotile = true; + preserve_split = true; + }; + }; + + extraConfig = " + xwayland { + force_zero_scaling = true; + } + "; + }; + }; +} diff --git a/unmoved-modules/home-manager/hypr/hypridle.nix b/unmoved-modules/home-manager/hypr/hypridle.nix new file mode 100644 index 0000000..3f575a0 --- /dev/null +++ b/unmoved-modules/home-manager/hypr/hypridle.nix @@ -0,0 +1,26 @@ +{ config, lib, ... }: + +{ + config = lib.mkIf config.hyprland.enable { + services.hypridle = { + enable = true; + + settings = { + general = { + lock_cmd = "pidof hyprlock || hyprlock"; + }; + + listener = [ + { + timeout = 300; + on-timeout = "hyprlock"; + } + { + timeout = 3600; + on-timeout = "hyprctl dispatch dpms off"; + } + ]; + }; + }; + }; +}
\ No newline at end of file diff --git a/unmoved-modules/home-manager/hypr/hyprlock.nix b/unmoved-modules/home-manager/hypr/hyprlock.nix new file mode 100644 index 0000000..675773a --- /dev/null +++ b/unmoved-modules/home-manager/hypr/hyprlock.nix @@ -0,0 +1,46 @@ +{ pkgs, lib, config, ... }: + +{ + config = lib.mkIf config.hyprland.enable { + programs.hyprlock = { + enable = true; + + settings = { + general = { + disable_loading_bar = false; + hide_cursor = false; + no_fade_in = true; + }; + + background = [ + { + path = "screenshot"; + # path = ~/.config/hypr/wallpaper_effects/.wallpaper_current; + blur_passes = 5; + blur_size = 7; + } + ]; + + input-field = [ + { + size = "200, 50"; + position = "0, 0"; + fade_on_empty = true; + font_color = "rgb(212, 190, 152)"; + inner_color = "rgb(29, 32, 33)"; + outer_color = "rgb(125, 174, 163)"; + outline_thickness = 2; + rounding = 0; + placeholder_text = ""; + } + ]; + + animations = [ + { + enabled = false; + } + ]; + }; + }; + }; +} diff --git a/unmoved-modules/home-manager/hypr/hyprpaper.nix b/unmoved-modules/home-manager/hypr/hyprpaper.nix new file mode 100644 index 0000000..2223e9a --- /dev/null +++ b/unmoved-modules/home-manager/hypr/hyprpaper.nix @@ -0,0 +1,26 @@ +{ pkgs, lib, config, ... }: + +{ + config = lib.mkIf config.hyprland.enable { + home.packages = [ + pkgs.hyprpaper + pkgs.waypaper + ]; + + services.hyprpaper = { + enable = true; + + settings = { + ipc = "on"; + splash = false; + + wallpaper = [ + { + monitor = ""; + path = "~/nixosconf/modules/home-manager/hypr/camdenyards.jpg"; + } + ]; + }; + }; + }; +} diff --git a/unmoved-modules/home-manager/hypr/input.nix b/unmoved-modules/home-manager/hypr/input.nix new file mode 100644 index 0000000..09fdb3e --- /dev/null +++ b/unmoved-modules/home-manager/hypr/input.nix @@ -0,0 +1,38 @@ +{ config, lib, ... }: + +{ + config = lib.mkIf config.hyprland.enable { + wayland.windowManager.hyprland = { + settings = { + input = { + touchpad = { + natural_scroll = true; + }; + accel_profile = "flat"; + }; + gesture = [ + "3, horizontal, workspace," + ]; + + device = [ + { # xanathar touchpad + name = "syna32ce:00-06cb:ce17-touchpad"; + sensitivity = 0; + } + { # vecna mouse + name = "razer-razer-deathadder-v2-x-hyperspeed-1"; + sensitivity = -0.35; + } + { # vecna mouse depending on how it's feeling + name = "razer-razer-deathadder-v2-x-hyperspeed"; + sensitivity = -0.35; + } + { # i can't believe its this finnicky + name = "razer-razer-deathadder-v2-x-hyperspeed-mouse"; + sensitivity = -0.35; + } + ]; + }; + }; + }; +}
\ No newline at end of file diff --git a/unmoved-modules/home-manager/hypr/pyprland.toml b/unmoved-modules/home-manager/hypr/pyprland.toml new file mode 100644 index 0000000..62227e9 --- /dev/null +++ b/unmoved-modules/home-manager/hypr/pyprland.toml @@ -0,0 +1,12 @@ +[pyprland] +plugins = [ + "scratchpads" +] + +[scratchpads.kitty] +unfocus = "hide" +command = "kitty --class kitty-dropterm" +class = "kitty-dropterm" +size = "75% 60%" +max_size = "1920px 100%" +lazy = true
\ No newline at end of file diff --git a/unmoved-modules/home-manager/hypr/rofi-hyprland.nix b/unmoved-modules/home-manager/hypr/rofi-hyprland.nix new file mode 100644 index 0000000..e3644f9 --- /dev/null +++ b/unmoved-modules/home-manager/hypr/rofi-hyprland.nix @@ -0,0 +1,23 @@ +{ pkgs, lib, ... }: + +{ + programs.rofi = { + enable = true; + package = pkgs.rofi; + theme = "gruvbox-dark-hard"; + font = "JetBrains Mono 13"; + + plugins = with pkgs; [ + rofi-calc + # rofi-vpn + ]; + modes = [ + "calc" + "window" + # { + # name = "vpn"; + # path = lib.getExe pkgs.rofi-vpn; + # } + ]; + }; +} diff --git a/unmoved-modules/home-manager/hypr/swaync.nix b/unmoved-modules/home-manager/hypr/swaync.nix new file mode 100644 index 0000000..dc857a7 --- /dev/null +++ b/unmoved-modules/home-manager/hypr/swaync.nix @@ -0,0 +1,13 @@ +{ config, lib, ... }: + +{ + config = lib.mkIf config.hyprland.enable { + services.swaync = { + enable = true; + + settings = { + + }; + }; + }; +}
\ No newline at end of file diff --git a/unmoved-modules/home-manager/hypr/waybar-hyprland.nix b/unmoved-modules/home-manager/hypr/waybar-hyprland.nix new file mode 100644 index 0000000..eed22c6 --- /dev/null +++ b/unmoved-modules/home-manager/hypr/waybar-hyprland.nix @@ -0,0 +1,128 @@ +{ pkgs, ... }: + +{ + programs.waybar = { + enable = true; + + settings = { + mainBar = { + layer = "top"; + position = "top"; + height = 30; + + modules-left = [ "hyprland/workspaces" "idle_inhibitor" ]; + modules-center = [ "hyprland/window" ]; + modules-right = [ "custom/feishin" "pulseaudio" "battery" "clock" ]; + + battery = { + interval = 60; + format = "{capacity}% {icon}"; + format-charging = "{capacity}% {icon}"; + format-icons = [" " " " " " " " " "]; + max-length = 25; + }; + + clock = { + format = "{:%H:%M}"; + tooltip = true; + tooltip-format = "{:%a, %b %d\nDay %j, Week %U\n%Z, UTC%z}"; + }; + + "hyprland/window" = { + format = "{initialClass}"; + on-click = "rofi -show window"; + max-length = 25; + }; + + idle_inhibitor = { + format = "{icon}"; + format-icons = { + activated = " "; + deactivated = " "; + }; + }; + + pulseaudio = { + format = "{volume}% {icon}"; + format-bluetooth = "{volume}% {icon}"; + format-muted = ""; + format-icons = { + default = [" " " "]; + }; + }; + + "custom/feishin" = { + format = "{}"; + escape = true; + exec-if = "pgrep -f 'feishin'"; + interval = 1; + on-click = "playerctl --player=,Feishin play-pause"; + on-click-right = "playerctl --player=,Feishin loop track"; + on-double-click-right = "playerctl --player=,Feishin loop playlist"; + on-click-middle = "playerctl --player=,Feishin shuffle toggle"; + on-scroll-up = "playerctl --player=,Feishin next"; + on-scroll-down = "playerctl --player=,Feishin previous"; + exec = "${pkgs.writeShellScriptBin "feishin-module-script" '' + shorten() { + if [ ''${#1} -le 24 ]; then + printf "%s" "$1" + else + local truncated="''${1:0:21}" + if [ "''${truncated: -1}" = " " ]; then + truncated="''${truncated:0:20}" + fi + printf "%s…" "$truncated" + fi + } + + player_status=$(playerctl --player=,Feishin status 2> /dev/null) + artist="$(shorten "$(playerctl --player=,Feishin metadata artist)")" + title="$(shorten "$(playerctl --player=,Feishin metadata title)")" + info="$artist - $title" + + if [ "$(playerctl --player=,Feishin shuffle)" = "On" ]; then + info="$info " + fi + + if [ "$player_status" != "Playing" ]; then + info="$info " + fi + + if [ "$(playerctl --player=,Feishin loop)" = "Track" ]; then + info="$info " + fi + + echo "$info " + ''}/bin/feishin-module-script"; + }; + }; + }; + + style = '' + *{ + border: none; + border-radius: 0; + font-family: "JetBrains Mono" + } + + window#waybar { + background: #141617; + color: #D4BE98; + } + + label.module { + padding: 0 15px; + } + + #workspaces button { + background: #141617; + color: #D4BE98; + } + + #workspaces button active { + background: #D4BE98; + color: #141617; + } + ''; + }; +} diff --git a/unmoved-modules/home-manager/kitty.nix b/unmoved-modules/home-manager/kitty.nix new file mode 100644 index 0000000..1f44982 --- /dev/null +++ b/unmoved-modules/home-manager/kitty.nix @@ -0,0 +1,23 @@ +{ pkgs, ... }: + +{ + programs.kitty = { + enable = true; + + enableGitIntegration = true; + font = { + package = pkgs.jetbrains-mono; + name = "Jetbrains Mono"; + size = 10; + }; + + shellIntegration.enableFishIntegration = true; + + themeFile = "GruvboxMaterialDarkHard"; + + settings = { + confirm_os_window_close = 0; + shell = "${pkgs.fish}/bin/fish"; + }; + }; +} diff --git a/unmoved-modules/home-manager/lazygit.nix b/unmoved-modules/home-manager/lazygit.nix new file mode 100644 index 0000000..e2f9018 --- /dev/null +++ b/unmoved-modules/home-manager/lazygit.nix @@ -0,0 +1,13 @@ +{ + programs.lazygit = { + enable = true; + settings = { + gui.theme = { + #lightTheme = true; + #activeBorderColor = [ "blue" "bold" ]; + #inactiveBorderColor = [ "black" ]; + #selectedLineBgColor = [ "default" ]; + }; + }; + }; +} diff --git a/unmoved-modules/home-manager/mangowc/default.nix b/unmoved-modules/home-manager/mangowc/default.nix new file mode 100644 index 0000000..85f86eb --- /dev/null +++ b/unmoved-modules/home-manager/mangowc/default.nix @@ -0,0 +1,66 @@ +{ pkgs, ... }: + +{ + wayland.windowManager.mango = { + enable = true; + + settings = '' + animations=1 + layer_animations=1 + + borderpx=1 + gappih=0 + gappiv=0 + gappoh=0 + gappov=0 + smartgaps=0 + + tagrule=id:1,layout_name=scroller + tagrule=id:2,layout_name=tile + tagrule=id:3,layout_name=tile + tagrule=id:4,layout_name=tile + tagrule=id:5,layout_name=tile + tagrule=id:6,layout_name=tile + tagrule=id:7,layout_name=tile + tagrule=id:8,layout_name=tile + tagrule=id:9,layout_name=tile + tagrule=id:10,layout_name=tile + + bind=Super+Shift,1,tagsilent,1 + bind=Super+Shift,2,tagsilent,2 + bind=Super+Shift,3,tagsilent,3 + bind=Super+Shift,4,tagsilent,4 + bind=Super+Shift,5,tagsilent,5 + bind=Super+Shift,6,tagsilent,6 + bind=Super+Shift,7,tagsilent,7 + bind=Super+Shift,8,tagsilent,8 + bind=Super+Shift,9,tagsilent,9 + bind=Super+Shift,10,tagsilent,10 + + bind=Super,F1,spawn,rofi -show drun + bind=Super,F2,spawn,kitty + bind=Super,F3,spawn_shell,kitty yazi + bind=Super,F4,killclient + bind=Super,m,quit + + bind=Super,1,view,1 + bind=Super,2,view,2 + bind=Super,3,view,3 + bind=Super,4,view,4 + bind=Super,5,view,5 + bind=Super,6,view,6 + bind=Super,7,view,7 + bind=Super,8,view,8 + bind=Super,9,view,9 + bind=Super,10,view,10 + + bind=Super,n,switch_layout + + mousebind=SUPER,btn_left,moveresize,curmove + mousebind=SUPER,btn_right,moveresize,curresize + + accel_profile=1 + accel_speed=-0.35 + ''; + }; +} diff --git a/unmoved-modules/home-manager/nvf.nix b/unmoved-modules/home-manager/nvf.nix new file mode 100644 index 0000000..7a2980e --- /dev/null +++ b/unmoved-modules/home-manager/nvf.nix @@ -0,0 +1,116 @@ +{ pkgs, lib, ... }: + +{ + programs.nvf = { + enable = true; + + settings.vim = { + viAlias = true; + vimAlias = true; + + lineNumberMode = "relNumber"; + + options = { + tabstop = lib.mkDefault 2; + shiftwidth = 0; + termguicolors = true; + }; + + keymaps = [ + { + key = "<leader>w"; + mode = "n"; + silent = true; + action = ":w<CR>"; + } + { + key = "<leader>x"; + mode = "n"; + silent = true; + action = ":wq<CR>"; + } + { + key = "<leader>ff"; + mode = "n"; + silent = true; + action = ":Telescope find_files<CR>"; + } + { + key = "<C-d>"; + mode = "n"; + silent = true; + action = "<C-d>zz"; + } + { + key = "<C-u>"; + mode = "n"; + silent = true; + action = "<C-u>zz"; + } + { + key = "<leader>n"; + mode = "n"; + silent = true; + action = ":noh<CR>"; + } + ]; + + lsp = { + enable = true; + servers.nixd.settings.nil.nix.autoArchive = true; + }; + + languages = { + enableTreesitter = true; + + nix.enable = true; + clang.enable = true; + rust.enable = true; + ruby.enable = true; + java.enable = true; + }; + + treesitter = { + enable = true; + # context.enable = true; + highlight.enable = true; + }; + + telescope.enable = true; + + utility = { + motion = { + # hop.enable = true; + # leap.enable = true; + precognition.enable = true; + }; + }; + + visuals = { + rainbow-delimiters.enable = true; + }; + + extraPlugins = { + gruvbox-material = { + package = pkgs.vimPlugins.gruvbox-material; + setup = '' + vim.o.background = "dark" + vim.g.gruvbox_material_background = "hard" + vim.cmd("colorscheme gruvbox-material") + ''; + }; + }; + + autocmds = [ + { + event = [ "InsertEnter" ]; + command = "set norelativenumber"; + } + { + event = [ "InsertLeave" ]; + command = "set relativenumber"; + } + ]; + }; + }; +} diff --git a/unmoved-modules/home-manager/obs.nix b/unmoved-modules/home-manager/obs.nix new file mode 100644 index 0000000..8798b54 --- /dev/null +++ b/unmoved-modules/home-manager/obs.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: + +{ + programs.obs-studio = { + enable = true; + + plugins = with pkgs.obs-studio-plugins; [ + input-overlay + obs-pipewire-audio-capture + ]; + }; +}
\ No newline at end of file diff --git a/unmoved-modules/home-manager/rbw.nix b/unmoved-modules/home-manager/rbw.nix new file mode 100644 index 0000000..50ca563 --- /dev/null +++ b/unmoved-modules/home-manager/rbw.nix @@ -0,0 +1,19 @@ +{ pkgs, ... }: + +{ + programs.rbw = { + enable = true; + settings = { + email = "james.krinsky@gmail.com"; + pinentry = pkgs.pinentry-qt; + base_url = "https://vault.bitwarden.com"; + identity_url = "https://identity.bitwarden.com"; + ui_url = "https://vault.bitwarden.com"; + }; + }; + + home.packages = [ + pkgs.pinentry-qt + pkgs.rofi-rbw + ]; +}
\ No newline at end of file diff --git a/unmoved-modules/home-manager/spicetify.nix b/unmoved-modules/home-manager/spicetify.nix new file mode 100644 index 0000000..4b54e6a --- /dev/null +++ b/unmoved-modules/home-manager/spicetify.nix @@ -0,0 +1,27 @@ +{ pkgs, inputs, ... }: + +{ + imports = [ + inputs.spicetify.homeManagerModules.default + ]; + + programs.spicetify = + let + spicepkgs = inputs.spicetify.legacyPackages.${pkgs.system}; + in + { + enable = true; + # theme = spicepkgs.themes.sleek; + # colorScheme = "Deep"; + + enabledExtensions = with spicepkgs.extensions; [ + shuffle + ]; + enabledCustomApps = with spicepkgs.apps; [ + + ]; + enabledSnippets = with spicepkgs.snippets; [ + + ]; + }; +} diff --git a/unmoved-modules/home-manager/spotify-player.nix b/unmoved-modules/home-manager/spotify-player.nix new file mode 100644 index 0000000..0af16d8 --- /dev/null +++ b/unmoved-modules/home-manager/spotify-player.nix @@ -0,0 +1,7 @@ +{ + programs.spotify-player = { + enable = true; + + + }; +} diff --git a/unmoved-modules/home-manager/vscodium.nix b/unmoved-modules/home-manager/vscodium.nix new file mode 100644 index 0000000..2ea2baf --- /dev/null +++ b/unmoved-modules/home-manager/vscodium.nix @@ -0,0 +1,47 @@ +{ config, pkgs, lib, inputs, ... }: + +{ + programs.vscode = { + enable = true; + package = pkgs.vscodium; + + profiles.default = { + userSettings = { + "workbench.colorTheme" = "Gruvbox Dark Hard"; + "editor.fontFamily" = "JetBrains Mono"; + "editor.fontSize" = 12; + "editor.fontLigatures" = true; + "vim.smartRelativeLine" = true; + "editor.lineNumbers" = "relative"; + "editor.cursorSmoothCaretAnimation" = "on"; + "editor.wordWrap" = "on"; + "editor.bracketPairColorization.enabled" = true; + }; + + extensions = with pkgs.vscode-extensions; [ + # languages + jnoortheen.nix-ide + tomoki1207.pdf + redhat.vscode-yaml + tamasfe.even-better-toml + redhat.java + rust-lang.rust-analyzer + shopify.ruby-lsp + + # functionality extensions + wix.vscode-import-cost + ms-vscode-remote.remote-ssh + ms-vscode-remote.remote-ssh-edit + vscodevim.vim + alefragnani.project-manager + esbenp.prettier-vscode + + # appearance extensions + mechatroner.rainbow-csv + vscode-icons-team.vscode-icons + jdinhlife.gruvbox + johnpapa.vscode-peacock + ]; + }; + }; +}
\ No newline at end of file diff --git a/unmoved-modules/home-manager/yazi.nix b/unmoved-modules/home-manager/yazi.nix new file mode 100644 index 0000000..3088c1f --- /dev/null +++ b/unmoved-modules/home-manager/yazi.nix @@ -0,0 +1,42 @@ +{ pkgs, ... }: + +{ + programs.yazi = { + enable = true; + enableFishIntegration = true; + + plugins = { + bypass = pkgs.yaziPlugins.bypass; + ouch = pkgs.yaziPlugins.ouch; + }; + + initLua = '' + ''; + + settings = { + mgr = { + show_hidden = true; + + prepend_keymap = [ + { + on = ["L"]; + run = "plugin bypass"; + } + { + on = ["H"]; + run = "plugin bypass reverse"; + } + ]; + }; + + opener = { + edit = [ + { + run = ''vi "$@"''; + block = true; + } + ]; + }; + }; + }; +} diff --git a/unmoved-modules/home-manager/zen-browser.nix b/unmoved-modules/home-manager/zen-browser.nix new file mode 100644 index 0000000..46b3992 --- /dev/null +++ b/unmoved-modules/home-manager/zen-browser.nix @@ -0,0 +1,41 @@ +{ inputs, pkgs, ... }: + +{ + imports = [ + inputs.zen-browser.homeModules.twilight + ]; + + programs.zen-browser = { + enable = true; + + policies = { + Preferences = { + + }; + + ExtensionSettings = { + + }; + + AutofillAddressEnabled = true; + AutofillCreditCardEnabled = false; + DisableFeedbackCommands = true; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableTelemetry = true; + DontCheckDefaultBrowser = true; + NoDefaultBookmarks = true; + OfferToSaveLogins = false; + EnableTrackingProtection = { + Value = true; + Locked = true; + Cryptomining = true; + Fingerprinting = true; + }; + }; + + nativeMessagingHosts = [ + pkgs.firefoxpwa + ]; + }; +}
\ No newline at end of file |
