{ config, pkgs, lib, inputs, ... }: { home.username = "blue"; home.homeDirectory = "/home/blue"; imports = [ ./hyprland.nix ./waybar.nix ./swaync.nix ./flatpak.nix ./sober.nix # ./librewolf.nix ./zsh.nix ./eza.nix ./nixvim.nix ./nextcloud.nix ./git.nix ]; # States home manager version that config was originally compatible with, do not change without reading all patch notes since this version and altering as needed home.stateVersion = "24.05"; # services.pass-secret-service.enable = true; # for use with protonmail-bridge services.gnome-keyring.enable = true; # used for protonmail-bridge and nextcloud-client # Cursor configuration that I hope to one day understand, currently has a scaling issue but thats probably my fault home.pointerCursor = let getFrom = url: hash: name: { gtk.enable = true; x11.enable = true; name = name; size = 24; package = pkgs.runCommand "moveUp" {} '' mkdir -p $out/share/icons ln -s ${pkgs.fetchzip { url = url; hash = hash; }} $out/share/icons/${name} ''; }; in getFrom "https://github.com/ful1e5/fuchsia-cursor/releases/download/v2.0.0/Fuchsia-Pop.tar.gz" "sha256-BvVE9qupMjw7JRqFUj1J0a4ys6kc9fOLBPx2bGaapTk=" "Fuchsia-Pop"; # General use home packages that dont require a separate module home.packages = [ # Add grimblast screenshot tool pkgs.grimblast pkgs.powerline-fonts pkgs.nix-output-monitor pkgs.bitwarden-desktop pkgs.xwaylandvideobridge ]; home.sessionVariables = { DEFAULT_BROWSER = "${lib.getExe pkgs.firefox}"; # Allow XWayland apps to not be weird after turning off xwayland scaling in hyprland.conf GDK_SCALE = 1; XCURSOR_SIZE = 24; }; # Let Home Manager install and manage itself. programs.home-manager.enable = true; programs.tmux.enable = true; # Add support for bluetooth headset media controls services.mpris-proxy.enable = true; programs.alacritty = { enable = true; package = pkgs.alacritty; settings = { window.dimensions = { lines = 3; columns = 200; }; font.normal = { family = "hack"; }; # keyboard.bindings = [ # { # key = "K"; # mods = "Control"; # chars = "\\u000c"; # } # ]; }; }; # programs.hyprpaper = { # enable = true; # settings = { # ipc = "on"; # splash = false; # splash_offset = 2.0; # preload = [ "~/Pictures/wallpaper.png" ]; # wallpaper = [ # ",~/Pictures/wallpaper.png" # ]; # }; # }; programs.hyprlock = { enable = true; settings = { general = { disable_loading_bar = true; grace = 0; hide_cursor = true; no_fade_in = false; }; background = [ { path = "screenshot"; blur_passes = 3; blur_size = 8; } ]; input-field = [ { size = "200, 50"; position = "0, -80"; monitor = "eDP-2"; dots_center = true; fade_on_empty = false; font_color = "rgb(202, 211, 245)"; inner_color = "rgb(91, 96, 120)"; outer_color = "rgb(24, 25, 38)"; outline_thickness = 5; # placeholder_text = "Password..."; # shadow_passes = 2; } ]; }; }; programs.anyrun = { enable = true; config = { plugins = [ # An array of all the plugins you want, which either can be paths to the .so files, or their packages inputs.anyrun.packages.${pkgs.system}.applications inputs.anyrun.packages.${pkgs.system}.rink # ./some_plugin.so # "${inputs.anyrun.packages.${pkgs.system}.anyrun-with-all-plugins}/lib/kidex" ]; x = { fraction = 0.5; }; y = { fraction = 0.3; }; width = { fraction = 0.3; }; hideIcons = false; ignoreExclusiveZones = false; layer = "overlay"; hidePluginInfo = false; closeOnClick = true; showResultsImmediately = false; maxEntries = null; }; extraCss = '' #window { background: transparent; } #main { background-color: grey; text-color: white; outline-color: black; } ''; # extraConfigFiles."some-plugin.ron".text = '' # Config( # // for any other plugin # // this file will be put in ~/.config/anyrun/some-plugin.ron # // refer to docs of xdg.configFile for available options # ) # ''; }; services.blueman-applet.enable = true; programs.htop.enable = true; }