nixconf/home-manager/home.nix

190 lines
4.7 KiB
Nix

{ 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 = "<span foreground="##cad3f5">Password...</span>";
# 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;
}