diff options
Diffstat (limited to 'home-manager/home/homeold.nix')
| -rwxr-xr-x | home-manager/home/homeold.nix | 256 |
1 files changed, 256 insertions, 0 deletions
diff --git a/home-manager/home/homeold.nix b/home-manager/home/homeold.nix new file mode 100755 index 0000000..2e7a9bc --- /dev/null +++ b/home-manager/home/homeold.nix @@ -0,0 +1,256 @@ +{ config, pkgs, lib, ... }: + +{ + home.username = "jerpo"; + home.homeDirectory = "/home/jerpo"; + home.stateVersion = "23.05"; + home.packages = with pkgs; [ + bat + emacs + nerdfonts + pokemon-colorscripts-mac + kitty + telegram-desktop + feh + rofi + htop + ranger + betterlockscreen + clipboard-jh + polybar + xdragon + obsidian + xclip + lutris + steam + mangohud + gamemode + vkdt + transmission-gtk + rubik + obsidian + osu-lazer + spotify + figma-linux + easyeffects + darktable + python311Packages.python-lsp-server + python311Packages.pyls-flake8 + python311Packages.python-lsp-black + ]; + programs = { + home-manager.enable = true; + firefox = { + enable = true; + profiles.Betterfox = { + isDefault = true; + extensions = with pkgs.nur.repos.rycee.firefox-addons; [ + bitwarden + ghostery + switchyomega + sponsorblock + return-youtube-dislikes + ]; + extraConfig = builtins.readFile ./home/programs/firefox/user.js; + search = { + engines = { + "Brave" = { + urls = [{ template = "https://search.brave.com/search?q={searchTerms}"; }]; + iconUpdateURL = "https://cdn.search.brave.com/serp/v2/_app/immutable/assets/safari-pinned-tab.539899c7.svg"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "!br" ]; + }; + "NixOS" = { + urls = [{ template = "https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query={searchTerms}"; }]; + iconUpdateURL = "https://nixos.org/favicon.png"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "!ns" ]; + }; + "HomeManager" = { + urls = [{ template = "https://mipmip.github.io/home-manager-option-search/?query={searchTerms}"; }]; + iconUpdateURL = "https://github.com/mipmip/home-manager-option-search/blob/main/images/favicon.png"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "!hs" ]; + }; + "ai question" = { + urls = [{ template = "https://iask.ai/?mode=question&q={searchTerms}"; }]; + iconUpdateURL = "https://iask.ai/favicons/favicon-32x32-650bd8771fdea8866630408578e381cc.png?vsn=d"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "!aq" ]; + }; + "ai forums" = { + urls = [{ template = "https://iask.ai/?mode=forums&q={searchTerms}"; }]; + iconUpdateURL = "https://iask.ai/favicons/favicon-32x32-650bd8771fdea8866630408578e381cc.png?vsn=d"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "!af" ]; + }; + "ai wiki" = { + urls = [{ template = "https://iask.ai/?mode=wiki&q={searchTerms}"; }]; + iconUpdateURL = "https://iask.ai/favicons/favicon-32x32-650bd8771fdea8866630408578e381cc.png?vsn=d"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "!aw" ]; + }; + "FastGPT" = { + urls = [{ template = "https://labs.kagi.com/fastgpt?query={searchTerms}"; }]; + definedAliases = [ "!fq" ]; + }; + "NixWiki" = { + urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}&go=Go"; }]; + iconUpdateURL = "https://nixos.org/favicon.png"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "!nw" ]; + }; + }; + default = "Brave"; + }; + }; + }; + fish = { + enable = true; + interactiveShellInit = '' + set fish_greeting + pokemon-colorscripts -r | awk "NR>1 {print}" + set -gx EDITOR "emacsclient -c -a \"emacs\"" + ''; + plugins = [ + { name = "colored-man-output"; src = pkgs.fishPlugins.colored-man-pages.src; } + { name = "fzf-fish"; src = pkgs.fishPlugins.fzf-fish.src; } + { name = "pure"; src = pkgs.fishPlugins.pure.src; } + { name = "autopair"; src = pkgs.fishPlugins.autopair.src; } + ]; + }; + kitty = { + enable = true; + font.name = "Source Code Pro"; + font.size = 11.3; + theme = "Rosé Pine Moon"; + shellIntegration.enableFishIntegration = true; + extraConfig = "cursor_shape underline"; + }; + }; + xsession.windowManager.bspwm = { + enable = true; + monitors = { + "^1" = [ + "α" + "β" + "γ" + "δ" + "ε" + ]; + "^2" = [ + "α" + "β" + "γ" + "δ" + "ε" + ]; + }; + settings = { + focused_border_color = "#908caa"; + normal_border_color = "#363a4f"; + presel_feedback_color = "#752f20"; + border_width = 3; + window_gap = 12; + focus_follows_pointer = true; + split_ratio = 0.5; + }; + startupPrograms = [ + "picom -b" + "setxkbmap -option grp:alt_shift_toggle,grp:win_space_toggle us,ru" + "emacs --daemon" + "feh --bg-fill ~/dotfiles/cat.png" + ]; + }; + services = { + sxhkd = { + enable = true; + keybindings = { + # Apps + "{_,shift} + {_,control} + Print" = "xfce4-screenshooter -{r,f} {_,-c}"; # Screenshooter + "super + apostrophe" = "betterlockscreen -l"; # Lockscreen + "super + grave" = "polybar -r"; # Restart polybar + "super + q" = "kitty"; # Open terminal + "super + d" = "rofi -show-icons -show drun"; # Open app chooser + "super + shift + d" = "CM_LAUNCHER=rofi clipmenu"; + "super + b" = "firefox"; # Open browser + "super + e" = "emacsclient -c -a 'emacs'"; # Open emacs + "super + shift + o" = "obsidian"; # Open obsidian + # Bspwm + "super + Escape" = "pkill -USR1 -x sxhkd"; # Restart sxhkd + "super + shift + {e,r}" = "bspc {quit,wm -r}"; # Quit/restart bspwm + "super + {control,shift} + q" = "bspc node -{k,c}"; # Close/kill window + "super + m" = "bspc desktop -l next"; # Maximise window + "super + {t,shift + t,v,f}" = "bspc node -t {tiled,pseudo_tiled,floating,fullscreen}"; # Set window state + "super + {_,shift + }{h,j,k,l}" = "bspc node -{f,s} {west,south,north,east}"; # Focus window in the given direction + "super + {Left,Down,Up,Right}" = "bspc node -v {-20 0,0 20,0 -20,20 0}"; # Move a floating window + "super + s : {h,j,k,l}" = ''STEP=20; SELECTION={1,2,3,4};\ + bspc node -z $(echo "left -$STEP 0,bottom 0 $STEP,top 0 -$STEP,right $STEP 0" | cut -d',' -f$SELECTION) ||\ + bspc node -z $(echo "right -$STEP 0,top 0 $STEP,bottom 0 -$STEP,left $STEP 0" | cut -d',' -f$SELECTION)''; # Better window resize + "super + bracket{left,right}" = "bspc desktop -f {prev,next}.local"; # Focus next/previos desktop + "super + {_,shift + }{1-9,0}" = "bspc {desktop -f,node -d} $(bspc query -D -m focused | awk 'NR=={1-9,0}')"; # Focus/send window to the given desktop on the focused monitor + "super + o" = "bspc node -m last -f"; # Send window to the last used monitor + "super + ctrl + {1-9}" = "bspc node -o 0.{1-9}"; # Preselect the window ratio + "super + ctrl + space" = "bspc node -p cancel"; # Cansel the preselected ratio + }; + }; + picom = { + enable = true; + settings = { + fading = true; + fade-in-step = 0.05; + fade-out-step = 0.05; + blur-background = true; + corner-radius = 8; + blur = { + method = "dual_kawase"; + size = 12; + deviation = false; + strength = 2; + kern = "3x3box"; + }; + backend = "glx"; + vsync = true; + mark = { + wmwin-focused = true; + overdir-focused = true; + }; + detect = { + rounded-corners = true; + client-opacity = true; + transient = true; + }; + use-ewmh-active-win = true; + glx-no-stencil = true; + use-damage = true; + }; + wintypes = { + tooltip = { + fade = true; + shadow = true; + full-shadow = false; + blur = false; + focus = true; + }; + dock = { + shadow = false; + }; + }; + }; + clipmenu.enable = true; + }; + gtk = { + cursorTheme = { + name = "Bibata-Modern-Ice"; + package = pkgs.bibata-cursors; + }; + iconTheme = { + name = "rose-pine-moon"; + package = pkgs.rose-pine-icon-theme; + }; + theme = { + name = "rose-pine-moon"; + package = pkgs.rose-pine-gtk-theme; + }; + }; +} |
