{ inputs, outputs, lib, config, pkgs, ... }: { nixpkgs = { config.allowUnfree = true; }; imports = [ ../modules/git.nix ../modules/bat.nix ../modules/fish.nix ../modules/editor/helix.nix ../modules/btop.nix ../modules/rio.nix ../modules/firefox.nix ../modules/nixcord.nix ../modules/hypr/hypridle.nix ../modules/hypr/hyprlock.nix ../modules/kanshi.nix ../modules/ags ]; /* programs.spicetify = let spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; in { enable = true; enabledExtensions = with spicePkgs.extensions; [ adblock hidePodcasts shuffle # shuffle+ (special characters are sanitized out of extension names) ]; theme = spicePkgs.themes.catppuccin; colorScheme = "mocha"; }; */ home = { username = "me"; homeDirectory = "/home/me"; pointerCursor = { gtk.enable = true; # x11.enable = true # dont enable since im on hyprland package = pkgs.bibata-cursors; name = "Bibata-Modern-Ice"; size = 16; }; }; gtk = { enable = true; font.name = "Victor Mono SemiBold 12"; theme = { name = "Dracula"; package = pkgs.dracula-theme; }; iconTheme = { name = "kora"; package = pkgs.kora-icon-theme; }; # TODO: use a variable to mirror this cursor size # with the `home.pointerCurser.size` cursorTheme = { # dont set the theme (use system default instead) # only set size to match the system package = pkgs.bibata-cursors; name = "Bibata-Modern-Ice"; size = 16; }; }; # TODO: this lowkey doesnt work... (maybe the name "Dracula" is wrong?) qt = { enable = true; platformTheme.name = "gtk2"; style.name = "gtk2"; }; programs = { # these are both required for home-manager to work home-manager.enable = true; # DEBUG: testing if my xdg-desktop-portal-hyprland is working or not obs-studio = { enable = true; plugins = with pkgs.obs-studio-plugins; [ wlrobs obs-backgroundremoval obs-pipewire-audio-capture ]; }; # set ssh profiles # (all we need is hyrule, everything else is through wishlist) ssh = { enable = true; matchBlocks = { hyrule = { hostname = "imbored.dev"; user = "ae"; port = 22; identityFile = "/home/me/.ssh/id_hyrule"; }; }; }; # I want to use fish as my login shell but it always # goes terrible cause it isn't POSIX compliant, so # instead Bash is my login and it will just exec fish #bash = { # interactiveShellInit = '' # if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]] # then # shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION="" # exec ${pkgs.fish}/bin/fish $LOGIN_OPTION # fi # ''; #}; /* spicetify = let spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; in { enable = true; enabledExtensions = with spicePkgs.extensions; [ adblock hidePodcasts #shuffle ]; theme = spicePkgs.themes.catppuccin; colorScheme = "mocha"; }; */ }; # ----- SERVICES ----- # Nicely reload system units when changing configs systemd.user.startServices = "sd-switch"; home.stateVersion = "24.05"; # don't change this }