diff --git a/hosts/garand-laptop/config.nix b/hosts/garand-laptop/config.nix index 5a50695..b371e9b 100644 --- a/hosts/garand-laptop/config.nix +++ b/hosts/garand-laptop/config.nix @@ -9,6 +9,7 @@ ./config/localization.nix ./config/networking.nix ./config/nixpkgs.nix + ./config/nixpkgs.codium.nix ./config/programs.nix ./config/security.nix ./config/services.nix diff --git a/hosts/garand-laptop/config/nixpkgs.codium.nix b/hosts/garand-laptop/config/nixpkgs.codium.nix new file mode 100644 index 0000000..e964917 --- /dev/null +++ b/hosts/garand-laptop/config/nixpkgs.codium.nix @@ -0,0 +1,241 @@ +{pkgs, ...}: { + environment = { + systemPackages = with pkgs; [ + (vscode-with-extensions.override { + vscode = vscodium; + vscodeExtensions = with vscode-extensions; + [ + batisteo.vscode-django + bradlc.vscode-tailwindcss + christian-kohler.npm-intellisense + christian-kohler.path-intellisense + continue.continue + davidanson.vscode-markdownlint + dbaeumer.vscode-eslint + donjayamanne.githistory + esbenp.prettier-vscode + ethansk.restore-terminals + formulahendry.auto-close-tag + formulahendry.auto-rename-tag + grapecity.gc-excelviewer + gruntfuggly.todo-tree + hediet.vscode-drawio + jnoortheen.nix-ide + mechatroner.rainbow-csv + ms-azuretools.vscode-docker + ms-python.debugpy + ms-python.flake8 + ms-python.python + ms-python.vscode-pylance + njpwerner.autodocstring + octref.vetur + oderwat.indent-rainbow + shd101wyy.markdown-preview-enhanced + streetsidesoftware.code-spell-checker + supermaven.supermaven + tomoki1207.pdf + visualstudioexptteam.intellicode-api-usage-examples + visualstudioexptteam.vscodeintellicode + vscode-icons-team.vscode-icons + vue.volar + wholroyd.jinja + yoavbls.pretty-ts-errors + ] + ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ + { + name = "goto-alias"; + publisher = "antfu"; + version = "0.2.1"; + hash = "sha256-BJBJVG/zW2BW6K0UqQ4EE12VVIxW3g+z5CecZXRPIrM="; + } + { + name = "vite"; + publisher = "antfu"; + version = "0.2.5"; + hash = "sha256-F3uaqoaLXLE7M8OPzNIIUSraTBeRMwtjxrbgQyMIyZE="; + } + { + name = "django-html"; + publisher = "bibhasdn"; + version = "1.3.0"; + hash = "sha256-7xVJVcjmwl6917lqkTa0KFwMLkAvHkNT2wVML14gVCk="; + } + { + name = "django"; + publisher = "bigonesystems"; + version = "1.0.2"; + hash = "sha256-UBmvaCiNQ84qpAObDWyFL18TVFBn0z/6SBDKWeAIzTc="; + } + { + name = "align-imports"; + publisher = "danielcanada"; + version = "0.1.0"; + hash = "sha256-Aj87mxOGer24O24/4/bGQqgLpgoBvfwOCKQyJ8NLplU="; + } + { + name = "python-environment-manager"; + publisher = "donjayamanne"; + version = "1.2.7"; + hash = "sha256-w3csu6rJm/Z6invC/TR7tx6Aq5DD77VM62nem8/QMlg="; + } + { + name = "python-extension-pack"; + publisher = "donjayamanne"; + version = "1.7.0"; + hash = "sha256-ewOw6nMVzNSYddLcCBGKVNvllztFwhEtncE2RFeFcOc="; + } + { + name = "one-dark-pro-monokai-darker"; + publisher = "eserozvataf"; + version = "1.1.0"; + hash = "sha256-jUjBiy0CD7jw2WBMvM3h8bEC2ySEuj7532dC3v9lpyI="; + } + { + name = "imports-sorter"; + publisher = "glhrmoura"; + version = "0.1.6"; + hash = "sha256-M+SWEJAwn8wPJJ+abi2mN0ziK7P6Sjt0iRAKSyTWvkg="; + } + { + name = "bootstrap-intellisense"; + publisher = "hossaini"; + version = "2.0.2"; + hash = "sha256-io6mPkF19EYo1tVTnd87EWX1mH9zAz0Zzks6v5XN3UE="; + } + { + name = "tab-indent-space-align"; + publisher = "j-zeppenfeld"; + version = "0.0.3"; + hash = "sha256-+WEdYJOVWW7YumfzLkvZmrnpUiC85oLsG1BKMwL1NHc="; + } + { + name = "bun-lockb"; + publisher = "jaaxxx"; + version = "0.0.7"; + hash = "sha256-CkdH/luVTFycRn4Td6ovFnEQep+tVEIXsyUjhfJwfN4="; + } + { + name = "search-node-modules"; + publisher = "jasonnutter"; + version = "1.3.0"; + hash = "sha256-X2CkCVF46McnXDlASlRHKixlAzR+hU4ys8A8JsbpfYI="; + } + { + name = "polacode-2019"; + publisher = "jeff-hykin"; + version = "0.6.1"; + hash = "sha256-SbfsD28gaVHAmJskUuc1Q8kA47jrVa3OO5Ur7ULk3jI="; + } + { + name = "vsc-python-indent"; + publisher = "kevinrose"; + version = "1.19.0"; + hash = "sha256-gX0L416RXIQ9S4kFguEJJ7u4GSo7WbpifXmL/mWCU08="; + } + { + name = "json-to-ts"; + publisher = "mariusalchimavicius"; + version = "1.8.0"; + hash = "sha256-WoSycVtUAkVXv7BDuh+jFbnaU1IdVLvVjOYuIuUp79M="; + } + { + name = "inline-fold"; + publisher = "moalamri"; + version = "0.2.6"; + hash = "sha256-VPEp4gtXH787iK0RxjfciIZO1cjkYacjNELzjzcs/FI="; + } + { + name = "vscode-language-pack-pl"; + publisher = "ms-ceintl"; + version = "1.97.2025020509"; + hash = "sha256-D2x745VgarYs6vRo6Eiyx7Zy4FHmFfF01xddbWlLmjM="; + } + { + name = "mdc"; + publisher = "nuxt"; + version = "0.2.0"; + hash = "sha256-M/29ZDg1sva9msGgRe6xqpCYDpW6X/BqKxmiJhzeVXQ="; + } + { + name = "nuxt-vscode-extentions"; + publisher = "nuxtr"; + version = "0.0.7"; + hash = "sha256-LMShrm9fQHr0M8yXHSziq4NZWfK+n1azc5bjiM972O0="; + } + { + name = "nuxtr-vscode"; + publisher = "nuxtr"; + version = "0.2.16"; + hash = "sha256-DVoq8zdlJ2ch8PCG34f1PRkILym9XdclUHQ9s2B5OME="; + } + { + name = "bun-vscode"; + publisher = "oven"; + version = "0.0.26"; + hash = "sha256-klMkKAorWJj2o015FWbQQfpmYe4JM0UOM+WVh+YPtI4="; + } + { + name = "csv-to-table"; + publisher = "phplasma"; + version = "1.4.1"; + hash = "sha256-npe7cQ4lAZr8HCyQSJmVsCDUJcOhGhL6y1QtUtqUY50="; + } + { + name = "nuxt-snippets"; + publisher = "praburangki"; + version = "1.8.0"; + hash = "sha256-qrWrrDO/Ie/mdygw18C0mrPzNQzZLsd+fapUyTVhc14="; + } + { + name = "bash-debug"; + publisher = "rogalmic"; + version = "0.3.9"; + hash = "sha256-f8FUZCvz/PonqQP9RCNbyQLZPnN5Oce0Eezm/hD19Fg="; + } + { + name = "vs-code-prettier-eslint"; + publisher = "rvest"; + version = "6.0.0"; + hash = "sha256-PogNeKhIlcGxUKrW5gHvFhNluUelWDGHCdg5K+xGXJY="; + } + { + name = "vscode-preview-docs"; + publisher = "selemondev"; + version = "0.1.7"; + hash = "sha256-Q9bEIb2m6cqHtdVjOaNivfYvbc5/VVdabM2NVTwBOFA="; + } + { + name = "svg-preview"; + publisher = "simonsiefke"; + version = "2.8.3"; + hash = "sha256-hIVe1MmkyuHoDa56ZQUsSAGMlKWABoQ0FBOfgZZDbCw="; + } + { + name = "autoimport"; + publisher = "steoates"; + version = "1.5.4"; + hash = "sha256-7iIwJJsoNbtTopc+BQ+195aSCLqdNAaGtMoxShyhBWY="; + } + { + name = "code-spell-checker-polish"; + publisher = "streetsidesoftware"; + version = "2.1.3"; + hash = "sha256-MZeTvK9dO4Kj6hK+afJPWGmnKBtlLrrnoqtUd5s2te0="; + } + { + name = "vscode-pets"; + publisher = "tonybaloney"; + version = "1.30.0"; + hash = "sha256-RxOA6xQ29JuB0NzEqMDkF9W1U+AsvgAOzGbtIUw0WyM="; + } + { + name = "explorer"; + publisher = "vitest"; + version = "1.12.1"; + hash = "sha256-WG2/MWxU/XhSOjXuBoyszpD/HFb8mfrt525povSEES4="; + } + ]; + }) + ]; + }; +} diff --git a/hosts/garand-laptop/config/nixpkgs.nix b/hosts/garand-laptop/config/nixpkgs.nix index 51fac30..75b5156 100644 --- a/hosts/garand-laptop/config/nixpkgs.nix +++ b/hosts/garand-laptop/config/nixpkgs.nix @@ -101,7 +101,6 @@ pavucontrol tree greetd.tuigreet - librewolf protonup plex-media-player plexamp @@ -140,241 +139,6 @@ lazygit lutris gambit-chess - (vscode-with-extensions.override { - vscode = vscodium; - vscodeExtensions = with vscode-extensions; - [ - batisteo.vscode-django - bradlc.vscode-tailwindcss - christian-kohler.npm-intellisense - christian-kohler.path-intellisense - continue.continue - davidanson.vscode-markdownlint - dbaeumer.vscode-eslint - donjayamanne.githistory - esbenp.prettier-vscode - ethansk.restore-terminals - formulahendry.auto-close-tag - formulahendry.auto-rename-tag - grapecity.gc-excelviewer - gruntfuggly.todo-tree - hediet.vscode-drawio - jnoortheen.nix-ide - mechatroner.rainbow-csv - ms-azuretools.vscode-docker - ms-python.debugpy - ms-python.flake8 - ms-python.python - ms-python.vscode-pylance - njpwerner.autodocstring - octref.vetur - oderwat.indent-rainbow - shd101wyy.markdown-preview-enhanced - streetsidesoftware.code-spell-checker - supermaven.supermaven - tomoki1207.pdf - visualstudioexptteam.intellicode-api-usage-examples - visualstudioexptteam.vscodeintellicode - vscode-icons-team.vscode-icons - vue.volar - wholroyd.jinja - yoavbls.pretty-ts-errors - ] - ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ - { - name = "goto-alias"; - publisher = "antfu"; - version = "0.2.1"; - hash = "sha256-BJBJVG/zW2BW6K0UqQ4EE12VVIxW3g+z5CecZXRPIrM="; - } - { - name = "vite"; - publisher = "antfu"; - version = "0.2.5"; - hash = "sha256-F3uaqoaLXLE7M8OPzNIIUSraTBeRMwtjxrbgQyMIyZE="; - } - { - name = "django-html"; - publisher = "bibhasdn"; - version = "1.3.0"; - hash = "sha256-7xVJVcjmwl6917lqkTa0KFwMLkAvHkNT2wVML14gVCk="; - } - { - name = "django"; - publisher = "bigonesystems"; - version = "1.0.2"; - hash = "sha256-UBmvaCiNQ84qpAObDWyFL18TVFBn0z/6SBDKWeAIzTc="; - } - { - name = "align-imports"; - publisher = "danielcanada"; - version = "0.1.0"; - hash = "sha256-Aj87mxOGer24O24/4/bGQqgLpgoBvfwOCKQyJ8NLplU="; - } - { - name = "python-environment-manager"; - publisher = "donjayamanne"; - version = "1.2.7"; - hash = "sha256-w3csu6rJm/Z6invC/TR7tx6Aq5DD77VM62nem8/QMlg="; - } - { - name = "python-extension-pack"; - publisher = "donjayamanne"; - version = "1.7.0"; - hash = "sha256-ewOw6nMVzNSYddLcCBGKVNvllztFwhEtncE2RFeFcOc="; - } - { - name = "one-dark-pro-monokai-darker"; - publisher = "eserozvataf"; - version = "1.1.0"; - hash = "sha256-jUjBiy0CD7jw2WBMvM3h8bEC2ySEuj7532dC3v9lpyI="; - } - { - name = "imports-sorter"; - publisher = "glhrmoura"; - version = "0.1.6"; - hash = "sha256-M+SWEJAwn8wPJJ+abi2mN0ziK7P6Sjt0iRAKSyTWvkg="; - } - { - name = "bootstrap-intellisense"; - publisher = "hossaini"; - version = "2.0.2"; - hash = "sha256-io6mPkF19EYo1tVTnd87EWX1mH9zAz0Zzks6v5XN3UE="; - } - { - name = "tab-indent-space-align"; - publisher = "j-zeppenfeld"; - version = "0.0.3"; - hash = "sha256-+WEdYJOVWW7YumfzLkvZmrnpUiC85oLsG1BKMwL1NHc="; - } - { - name = "bun-lockb"; - publisher = "jaaxxx"; - version = "0.0.7"; - hash = "sha256-CkdH/luVTFycRn4Td6ovFnEQep+tVEIXsyUjhfJwfN4="; - } - { - name = "search-node-modules"; - publisher = "jasonnutter"; - version = "1.3.0"; - hash = "sha256-X2CkCVF46McnXDlASlRHKixlAzR+hU4ys8A8JsbpfYI="; - } - { - name = "polacode-2019"; - publisher = "jeff-hykin"; - version = "0.6.1"; - hash = "sha256-SbfsD28gaVHAmJskUuc1Q8kA47jrVa3OO5Ur7ULk3jI="; - } - { - name = "vsc-python-indent"; - publisher = "kevinrose"; - version = "1.19.0"; - hash = "sha256-gX0L416RXIQ9S4kFguEJJ7u4GSo7WbpifXmL/mWCU08="; - } - { - name = "json-to-ts"; - publisher = "mariusalchimavicius"; - version = "1.8.0"; - hash = "sha256-WoSycVtUAkVXv7BDuh+jFbnaU1IdVLvVjOYuIuUp79M="; - } - { - name = "inline-fold"; - publisher = "moalamri"; - version = "0.2.6"; - hash = "sha256-VPEp4gtXH787iK0RxjfciIZO1cjkYacjNELzjzcs/FI="; - } - { - name = "vscode-language-pack-pl"; - publisher = "ms-ceintl"; - version = "1.97.2025020509"; - hash = "sha256-D2x745VgarYs6vRo6Eiyx7Zy4FHmFfF01xddbWlLmjM="; - } - { - name = "mdc"; - publisher = "nuxt"; - version = "0.2.0"; - hash = "sha256-M/29ZDg1sva9msGgRe6xqpCYDpW6X/BqKxmiJhzeVXQ="; - } - { - name = "nuxt-vscode-extentions"; - publisher = "nuxtr"; - version = "0.0.7"; - hash = "sha256-LMShrm9fQHr0M8yXHSziq4NZWfK+n1azc5bjiM972O0="; - } - { - name = "nuxtr-vscode"; - publisher = "nuxtr"; - version = "0.2.16"; - hash = "sha256-DVoq8zdlJ2ch8PCG34f1PRkILym9XdclUHQ9s2B5OME="; - } - { - name = "bun-vscode"; - publisher = "oven"; - version = "0.0.26"; - hash = "sha256-klMkKAorWJj2o015FWbQQfpmYe4JM0UOM+WVh+YPtI4="; - } - { - name = "csv-to-table"; - publisher = "phplasma"; - version = "1.4.1"; - hash = "sha256-npe7cQ4lAZr8HCyQSJmVsCDUJcOhGhL6y1QtUtqUY50="; - } - { - name = "nuxt-snippets"; - publisher = "praburangki"; - version = "1.8.0"; - hash = "sha256-qrWrrDO/Ie/mdygw18C0mrPzNQzZLsd+fapUyTVhc14="; - } - { - name = "bash-debug"; - publisher = "rogalmic"; - version = "0.3.9"; - hash = "sha256-f8FUZCvz/PonqQP9RCNbyQLZPnN5Oce0Eezm/hD19Fg="; - } - { - name = "vs-code-prettier-eslint"; - publisher = "rvest"; - version = "6.0.0"; - hash = "sha256-PogNeKhIlcGxUKrW5gHvFhNluUelWDGHCdg5K+xGXJY="; - } - { - name = "vscode-preview-docs"; - publisher = "selemondev"; - version = "0.1.7"; - hash = "sha256-Q9bEIb2m6cqHtdVjOaNivfYvbc5/VVdabM2NVTwBOFA="; - } - { - name = "svg-preview"; - publisher = "simonsiefke"; - version = "2.8.3"; - hash = "sha256-hIVe1MmkyuHoDa56ZQUsSAGMlKWABoQ0FBOfgZZDbCw="; - } - { - name = "autoimport"; - publisher = "steoates"; - version = "1.5.4"; - hash = "sha256-7iIwJJsoNbtTopc+BQ+195aSCLqdNAaGtMoxShyhBWY="; - } - { - name = "code-spell-checker-polish"; - publisher = "streetsidesoftware"; - version = "2.1.3"; - hash = "sha256-MZeTvK9dO4Kj6hK+afJPWGmnKBtlLrrnoqtUd5s2te0="; - } - { - name = "vscode-pets"; - publisher = "tonybaloney"; - version = "1.30.0"; - hash = "sha256-RxOA6xQ29JuB0NzEqMDkF9W1U+AsvgAOzGbtIUw0WyM="; - } - { - name = "explorer"; - publisher = "vitest"; - version = "1.12.1"; - hash = "sha256-WG2/MWxU/XhSOjXuBoyszpD/HFb8mfrt525povSEES4="; - } - ]; - }) ]; }; } diff --git a/hosts/garand-laptop/home.nix b/hosts/garand-laptop/home.nix index 77230bd..afe6469 100644 --- a/hosts/garand-laptop/home.nix +++ b/hosts/garand-laptop/home.nix @@ -1,12 +1,4 @@ -{ - pkgs, - lib, - username, - host, - ... -}: let - inherit (import ./variables.nix) gitUsername gitEmail; -in { +{...}: { # Import Program Configurations imports = [ ../../config/emoji.nix @@ -19,248 +11,12 @@ in { ../../config/waybar.nix ../../config/wlogout.nix ../../config/fastfetch + + ./home/home.nix + ./home/misc.nix + ./home/programs.nix + ./home/programs.librewolf.nix + ./home/services.nix + ./home/styles.nix ]; - - # Home Manager Settings - home = { - username = "${username}"; - homeDirectory = "/home/${username}"; - stateVersion = "23.11"; - # Place Files Inside Home Directory - file = { - "Pictures/Wallpapers".source = ../../config/wallpapers; - "Pictures/Wallpapers".recursive = true; - ".config/wlogout/icons".source = ../../config/wlogout; - ".config/wlogout/icons".recursive = true; - ".face.icon".source = ../../config/face.jpg; - ".config/face.jpg".source = ../../config/face.jpg; - ".config/swappy/config".text = '' - [Default] - save_dir=/home/${username}/Pictures/Screenshots - save_filename_format=swappy-%Y%m%d-%H%M%S.png - show_panel=false - line_size=5 - text_size=20 - text_font=Ubuntu - paint_mode=brush - early_exit=true - fill_shape=false - ''; - }; - # Scripts - packages = [ - (import ../../scripts/emopicker9000.nix {inherit pkgs;}) - (import ../../scripts/task-waybar.nix {inherit pkgs;}) - (import ../../scripts/squirtle.nix {inherit pkgs;}) - (import ../../scripts/nvidia-offload.nix {inherit pkgs;}) - (import ../../scripts/wallsetter.nix { - inherit pkgs; - inherit username; - }) - (import ../../scripts/web-search.nix {inherit pkgs;}) - (import ../../scripts/rofi-launcher.nix {inherit pkgs;}) - (import ../../scripts/screenshootin.nix {inherit pkgs;}) - (import ../../scripts/list-hypr-bindings.nix { - inherit pkgs; - inherit host; - }) - ]; - }; - - # Create XDG Dirs - xdg = { - userDirs = { - enable = true; - createDirectories = true; - }; - }; - - dconf.settings = { - "org/virt-manager/virt-manager/connections" = { - autoconnect = ["qemu:///system"]; - uris = ["qemu:///system"]; - }; - }; - - # Styling Options - stylix = { - targets = { - waybar = { - enable = false; - }; - rofi = { - enable = false; - }; - hyprland = { - enable = false; - }; - }; - }; - gtk = { - iconTheme = { - name = "Papirus-Dark"; - package = pkgs.papirus-icon-theme; - }; - gtk3.extraConfig = { - gtk-application-prefer-dark-theme = 1; - }; - gtk4.extraConfig = { - gtk-application-prefer-dark-theme = 1; - }; - }; - qt = { - enable = true; - style.name = lib.mkDefault "adwaita-dark"; - platformTheme.name = lib.mkDefault "gtk3"; - }; - - services = { - hypridle = { - settings = { - general = { - after_sleep_cmd = "hyprctl dispatch dpms on"; - ignore_dbus_inhibit = false; - lock_cmd = "hyprlock"; - }; - listener = [ - { - timeout = 900; - on-timeout = "hyprlock"; - } - { - timeout = 1200; - on-timeout = "hyprctl dispatch dpms off"; - on-resume = "hyprctl dispatch dpms on"; - } - ]; - }; - }; - }; - - programs = { - home-manager.enable = true; - git = { - enable = true; - userName = "${gitUsername}"; - userEmail = "${gitEmail}"; - extraConfig = { - credential.helper = "cache --timeout=3600"; - }; - }; - gh.enable = true; - btop = { - enable = true; - }; - kitty = { - enable = true; - package = pkgs.kitty; - settings = { - scrollback_lines = 2000; - wheel_scroll_min_lines = 1; - window_padding_width = 4; - confirm_os_window_close = 0; - }; - extraConfig = '' - tab_bar_style fade - tab_fade 1 - active_tab_font_style bold - inactive_tab_font_style bold - ''; - }; - starship = { - enable = true; - package = pkgs.starship; - }; - bash = { - enable = true; - enableCompletion = true; - profileExtra = '' - #if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then - # exec Hyprland - #fi - ''; - initExtra = '' - fastfetch - if [ -f $HOME/.bashrc-personal ]; then - source $HOME/.bashrc-personal - fi - fc - ''; - shellAliases = { - os-sw = "sudo nixos-rebuild switch --flake ~/zaneyos"; - os-bt = "sudo nixos-rebuild boot --flake ~/zaneyos"; - os-ts = "sudo nixos-rebuild test --flake ~/zaneyos"; - os-up = "sudo nix flake update"; - os-upg = "sudo nix flake update && sudo nixos-rebuild switch --flake ~/zaneyos"; - os-up-np = "sudo nix flake update --update-input nixpkgs"; - os-up-hm = "sudo nix flake update --update-input home-manager"; - os-up-sx = "sudo nix flake update --update-input stylix"; - os-up-af = "sudo nix flake update --update-input auto-cpufreq"; - fr = "nh os switch --hostname ${host} /home/${username}/zaneyos"; - fu = "nh os switch --hostname ${host} --update /home/${username}/zaneyos"; - hypr-cli = "hyprctl clients"; - zu = "sh <(curl -L https://gitlab.com/Zaney/zaneyos/-/raw/main/install-zaneyos.sh)"; - ncg = "nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot"; - n = "nano"; - f = "fuck"; - cat = "bat"; - st = "speedtest"; - ls = "eza --icons"; - ll = "eza -lh --icons --grid --group-directories-first"; - la = "eza -lah --icons --grid --group-directories-first"; - ssh-server = "ssh garand_plg@192.168.1.156 -p 556 -i ~/.ssh/hp-t640-homeserver"; - fc = "fortune | cowsay"; - terminal = "cat /home/garand_plg/Documents/terminal.txt"; - e-terminal = "nano /home/garand_plg/Documents/terminal.txt"; - mkgidf = "git diff > git-diff.txt"; - ".." = "cd .."; - kys = "shutdown now"; - }; - }; - hyprlock = { - enable = true; - settings = { - general = { - disable_loading_bar = true; - grace = 10; - hide_cursor = true; - no_fade_in = false; - }; - background = lib.mkDefault [ - { - path = "/home/${username}/Pictures/Wallpapers/attack-on-titan-mikasa-ackerman.jpg"; - blur_passes = 3; - blur_size = 8; - } - ]; - image = [ - { - path = "/home/${username}/.config/face.jpg"; - size = 150; - border_size = 4; - border_color = "rgb(0C96F9)"; - rounding = -1; # Negative means circle - position = "0, 200"; - halign = "center"; - valign = "center"; - } - ]; - input-field = lib.mkDefault [ - { - size = "200, 50"; - position = "0, -80"; - monitor = ""; - dots_center = true; - fade_on_empty = false; - font_color = "rgb(CFE6F4)"; - inner_color = "rgb(657DC2)"; - outer_color = "rgb(0D0E15)"; - outline_thickness = 5; - placeholder_text = "Password..."; - shadow_passes = 2; - } - ]; - }; - }; - }; } diff --git a/hosts/garand-laptop/home/home.nix b/hosts/garand-laptop/home/home.nix new file mode 100644 index 0000000..e217b83 --- /dev/null +++ b/hosts/garand-laptop/home/home.nix @@ -0,0 +1,52 @@ +{ + pkgs, + username, + host, + ... +}: { + # Home Manager Settings + home = { + username = "${username}"; + homeDirectory = "/home/${username}"; + stateVersion = "23.11"; + # Place Files Inside Home Directory + file = { + "Pictures/Wallpapers".source = ../../../config/wallpapers; + "Pictures/Wallpapers".recursive = true; + ".config/wlogout/icons".source = ../../../config/wlogout; + ".config/wlogout/icons".recursive = true; + ".face.icon".source = ../../../config/face.jpg; + ".config/face.jpg".source = ../../../config/face.jpg; + ".config/swappy/config".text = '' + [Default] + save_dir=/home/${username}/Pictures/Screenshots + save_filename_format=swappy-%Y%m%d-%H%M%S.png + show_panel=false + line_size=5 + text_size=20 + text_font=Ubuntu + paint_mode=brush + early_exit=true + fill_shape=false + ''; + }; + # Scripts + packages = [ + (import ../../../scripts/emopicker9000.nix {inherit pkgs;}) + (import ../../../scripts/task-waybar.nix {inherit pkgs;}) + (import ../../../scripts/squirtle.nix {inherit pkgs;}) + (import ../../../scripts/nvidia-offload.nix {inherit pkgs;}) + (import ../../../scripts/wallsetter.nix { + inherit pkgs; + inherit username; + }) + (import ../../../scripts/web-search.nix {inherit pkgs;}) + (import ../../../scripts/rofi-launcher.nix {inherit pkgs;}) + (import ../../../scripts/screenshootin.nix {inherit pkgs;}) + (import ../../../scripts/list-hypr-bindings.nix { + inherit pkgs; + inherit host; + }) + ]; + }; +} diff --git a/hosts/garand-laptop/home/misc.nix b/hosts/garand-laptop/home/misc.nix new file mode 100644 index 0000000..198bb3d --- /dev/null +++ b/hosts/garand-laptop/home/misc.nix @@ -0,0 +1,16 @@ +{...}: { + # Create XDG Dirs + xdg = { + userDirs = { + enable = true; + createDirectories = true; + }; + }; + + dconf.settings = { + "org/virt-manager/virt-manager/connections" = { + autoconnect = ["qemu:///system"]; + uris = ["qemu:///system"]; + }; + }; +} diff --git a/hosts/garand-laptop/home/programs.librewolf.nix b/hosts/garand-laptop/home/programs.librewolf.nix new file mode 100644 index 0000000..cbd217b --- /dev/null +++ b/hosts/garand-laptop/home/programs.librewolf.nix @@ -0,0 +1,86 @@ +{ + pkgs, + host, + ... +}: { + programs = { + librewolf = { + enable = true; + languagePacks = ["pl" "en-US"]; + profiles = { + "${host}" = { + id = 0; + isDefault = true; + name = "${host}"; + settings = { + # Preferences (about:config) + "general.useragent.locale" = "pl"; + "browser.sessionstore.resume_from_crash" = true; + "browser.tabs.insertRelatedAfterCurrent" = false; + "layout.css.prefers-color-scheme.content-override" = 0; + "layout.css.font-visibility" = 1; + "font.default.x-western" = "FiraCode Nerd Font"; + "font.name.monospace.x-western" = "FiraCode Nerd Font Mono"; + "font.name.sans-serif.x-western" = "FiraCode Nerd Font Propo"; + "font.name.serif.x-western" = "FiraCode Nerd Font"; + "intl.locale.requested" = "pl,en-US"; + "intl.accept_languages" = "pl,en-US"; + }; + search = { + default = "Garand's Search"; + privateDefault = "Garand's Search"; + force = true; + engines = { + "Garand's Search" = { + definedAliases = ["@garand"]; + urls = [{template = "https://search.garandplg.com/search?q={searchTerms}";}]; + }; + "Nix Packages" = { + definedAliases = ["@np"]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + urls = [ + { + template = "https://search.nixos.org/packages?channel=unstable"; + params = [ + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + "Nix Options" = { + definedAliases = ["@no"]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + urls = [ + { + template = "https://search.nixos.org/options"; + params = [ + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + "Google".metaData.hidden = true; + "Bing".metaData.hidden = true; + "Wikipedia (en)".metaData.hidden = true; + }; + }; + }; + }; + settings = { + # LibreWolf settings + "network.http.referer.XOriginPolicy" = 2; + "privacy.resistFingerprinting.letterboxing" = true; + "privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts" = true; + }; + policies = { + # Policies (about:policies#documentation) + }; + }; + }; +} diff --git a/hosts/garand-laptop/home/programs.nix b/hosts/garand-laptop/home/programs.nix new file mode 100644 index 0000000..1e66de8 --- /dev/null +++ b/hosts/garand-laptop/home/programs.nix @@ -0,0 +1,143 @@ +{ + pkgs, + lib, + username, + host, + ... +}: let + inherit (import ../variables.nix) gitUsername gitEmail; +in { + programs = { + home-manager.enable = true; + + git = { + enable = true; + userName = "${gitUsername}"; + userEmail = "${gitEmail}"; + extraConfig = { + credential.helper = "cache --timeout=3600"; + }; + }; + + gh.enable = true; + + btop = { + enable = false; + }; + + kitty = { + enable = true; + package = pkgs.kitty; + settings = { + scrollback_lines = 2000; + wheel_scroll_min_lines = 1; + window_padding_width = 4; + confirm_os_window_close = 0; + }; + extraConfig = '' + tab_bar_style fade + tab_fade 1 + active_tab_font_style bold + inactive_tab_font_style bold + ''; + }; + + starship = { + enable = true; + package = pkgs.starship; + }; + + bash = { + enable = true; + enableCompletion = true; + profileExtra = '' + #if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then + # exec Hyprland + #fi + ''; + initExtra = '' + fastfetch + if [ -f $HOME/.bashrc-personal ]; then + source $HOME/.bashrc-personal + fi + fc + ''; + shellAliases = { + os-sw = "sudo nixos-rebuild switch --flake ~/zaneyos"; + os-bt = "sudo nixos-rebuild boot --flake ~/zaneyos"; + os-ts = "sudo nixos-rebuild test --flake ~/zaneyos"; + os-up = "sudo nix flake update"; + os-upg = "sudo nix flake update && sudo nixos-rebuild switch --flake ~/zaneyos"; + os-up-np = "sudo nix flake update --update-input nixpkgs"; + os-up-hm = "sudo nix flake update --update-input home-manager"; + os-up-sx = "sudo nix flake update --update-input stylix"; + os-up-af = "sudo nix flake update --update-input auto-cpufreq"; + fr = "nh os switch --hostname ${host} /home/${username}/zaneyos"; + fu = "nh os switch --hostname ${host} --update /home/${username}/zaneyos"; + hypr-cli = "hyprctl clients"; + zu = "sh <(curl -L https://gitlab.com/Zaney/zaneyos/-/raw/main/install-zaneyos.sh)"; + ncg = "nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot"; + n = "nano"; + f = "fuck"; + cat = "bat"; + st = "speedtest"; + ls = "eza --icons"; + ll = "eza -lh --icons --grid --group-directories-first"; + la = "eza -lah --icons --grid --group-directories-first"; + ssh-server = "ssh garand_plg@192.168.1.156 -p 556 -i ~/.ssh/hp-t640-homeserver"; + fc = "fortune | cowsay"; + terminal = "cat /home/garand_plg/Documents/terminal.txt"; + e-terminal = "nano /home/garand_plg/Documents/terminal.txt"; + mkgidf = "git diff > git-diff.txt"; + ".." = "cd .."; + kys = "shutdown now"; + }; + }; + + hyprlock = { + enable = true; + settings = { + general = { + disable_loading_bar = true; + grace = 10; + hide_cursor = true; + no_fade_in = false; + }; + background = lib.mkDefault [ + { + path = "/home/${username}/Pictures/Wallpapers/attack-on-titan-mikasa-ackerman.jpg"; + blur_passes = 3; + blur_size = 8; + } + ]; + image = [ + { + path = "/home/${username}/.config/face.jpg"; + size = 150; + border_size = 4; + border_color = "rgb(0C96F9)"; + rounding = -1; # Negative means circle + position = "0, 200"; + halign = "center"; + valign = "center"; + } + ]; + input-field = lib.mkDefault [ + { + size = "200, 50"; + position = "0, -80"; + monitor = ""; + dots_center = true; + fade_on_empty = false; + font_color = "rgb(CFE6F4)"; + inner_color = "rgb(657DC2)"; + outer_color = "rgb(0D0E15)"; + outline_thickness = 5; + placeholder_text = "Password..."; + shadow_passes = 2; + } + ]; + }; + }; + }; +} diff --git a/hosts/garand-laptop/home/services.nix b/hosts/garand-laptop/home/services.nix new file mode 100644 index 0000000..9b7f072 --- /dev/null +++ b/hosts/garand-laptop/home/services.nix @@ -0,0 +1,24 @@ +{...}: { + services = { + hypridle = { + settings = { + general = { + after_sleep_cmd = "hyprctl dispatch dpms on"; + ignore_dbus_inhibit = false; + lock_cmd = "hyprlock"; + }; + listener = [ + { + timeout = 900; + on-timeout = "hyprlock"; + } + { + timeout = 1200; + on-timeout = "hyprctl dispatch dpms off"; + on-resume = "hyprctl dispatch dpms on"; + } + ]; + }; + }; + }; +} diff --git a/hosts/garand-laptop/home/styles.nix b/hosts/garand-laptop/home/styles.nix new file mode 100644 index 0000000..945d27e --- /dev/null +++ b/hosts/garand-laptop/home/styles.nix @@ -0,0 +1,39 @@ +{ + pkgs, + lib, + ... +}: { + # Styling Options + stylix = { + targets = { + waybar = { + enable = false; + }; + rofi = { + enable = false; + }; + hyprland = { + enable = false; + }; + }; + }; + + gtk = { + iconTheme = { + name = "Papirus-Dark"; + package = pkgs.papirus-icon-theme; + }; + gtk3.extraConfig = { + gtk-application-prefer-dark-theme = 1; + }; + gtk4.extraConfig = { + gtk-application-prefer-dark-theme = 1; + }; + }; + + qt = { + enable = true; + style.name = lib.mkDefault "adwaita-dark"; + platformTheme.name = lib.mkDefault "gtk3"; + }; +}