pluto-flake/home/default.nix

249 lines
7.5 KiB
Nix

{config, pkgs, lib, inputs, vars, osConfig, ...}:{
imports = [
inputs.mangowc.hmModules.mango
];
home = rec {
username = osConfig.var.username;
homeDirectory = "/home/${username}";
stateVersion = "26.05";
shell.enableBashIntegration = true;
file = {
".config/waybar/config".source = (if osConfig.var.username == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/bars/cyberhack" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/bars/modern");
".config/waybar/style.css".source = (if osConfig.var.username == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/bars/cyberhack.css" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/bars/modern.css");
".config/bar-rs/bar-rs.ini".text = builtins.readFile ./bars/bar-rs.ini + (if osConfig.var.hostname == "absolution" then ''
[style]
width = 2540
'' else '''');
};
pointerCursor = {
gtk.enable = true;
x11.enable = true;
package = pkgs.catppuccin-cursors.mochaMauve;
name = "catppuccin-mocha-mauve-cursors";
size = 24;
};
};
gtk = {
enable = true;
theme = {
name = "CyberHack";
package = pkgs.mypackages.cyberhack;
};
};
qt = {
enable = true;
style.name = "kvantum";
platformTheme.name = "qtct";
};
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
xdg.configFile."openxr/1/active_runtime.json" = {
source = if osConfig.var.hostname == "apalapucia" then "${pkgs.monado}/share/openxr/1/openxr_monado.json" else "${pkgs.wivrn}/share/openxr/1/openxr_wivrn.json";
enable = (osConfig.var.hostname == "apalapucia" || osConfig.var.hostname == "fenix");
};
xdg.configFile."openvr/openvrpaths.vrpath" = {
text = ''
{
"config" :
[
"${config.xdg.dataHome}/Steam/config"
],
"external_drivers" : null,
"jsonid" : "vrpathreg",
"log" :
[
"${config.xdg.dataHome}/Steam/logs"
],
"runtime" :
[
"${pkgs.xrizer}/lib/xrizer"
],
"version" : 1
}
'';
enable = (osConfig.var.hostname == "apalapucia" || osConfig.var.hostname == "fenix");
};
programs.home-manager.enable = true;
programs.foot = {
enable = true;
settings.main.font = (if osConfig.var.username == "alyx" then "DepartureMono Nerd Font:size=18" else "monospace:size=12");
settings.colors-dark.alpha = "0.6";
settings.colors-dark.foreground = "00ffff";
settings.colors-dark.background = "002428";
settings.colors-dark.regular0 = "002428";
settings.colors-dark.regular1 = "c01c32";
settings.colors-dark.regular2 = "57ff00";
settings.colors-dark.regular3 = "f9f06b";
settings.colors-dark.regular4 = "00ffff";
settings.colors-dark.regular5 = "dc8add";
settings.colors-dark.regular6 = "009294";
settings.colors-dark.regular7 = "62ffff";
settings.colors-dark.bright0 = "021f22";
settings.colors-dark.bright1 = "f21633";
settings.colors-dark.bright2 = "abff80";
settings.colors-dark.bright3 = "f6d32d";
settings.colors-dark.bright4 = "92c4ff";
settings.colors-dark.bright5 = "e7a3e8";
settings.colors-dark.bright6 = "3bc5c3";
settings.colors-dark.bright7 = "ffffff";
settings.colors-dark.selection-foreground = "62ffff";
settings.colors-dark.selection-background = "006e68";
settings.colors-dark.cursor = "002428 00ffff";
settings.main.pad = "6x6 center";
};
programs.ncmpcpp = {
enable = true;
settings = {
tags_separator = ";";
};
};
services.mpd = {
enable = true;
musicDirectory = "/home/${osConfig.var.username}/Music";
extraConfig = ''
audio_output {
type "pipewire"
name "default pipewire"
}
'';
};
services.mpd-mpris.enable = true;
services.mpd-discord-rpc.enable = true;
programs.waybar.enable = true;
programs.git = {
enable = true;
settings = {
user.name = osConfig.var.username;
user.email = (if osConfig.var.username == "alyx" then "alyxwren@proton.me" else "beanigit@protonmail.com");
commit.gpgsign = true;
gpg.format = "ssh";
user.signingKey = "~/.ssh/id_ed25519.pub";
init.defaultBranch = "master";
};
};
xdg.configFile = {
"Kvantum/CyberHack".source = "${pkgs.mypackages.cyberhack}/share/Kvantum/CyberHack";
"Kvantum/CyberHack-90".source = "${pkgs.mypackages.cyberhack}/share/Kvantum/CyberHack-90";
"Kvantum/CyberHack-solid".source = "${pkgs.mypackages.cyberhack}/share/Kvantum/CyberHack-solid";
"Kvantum/kvantum.kvconfig".text = ''
[General]
theme=CyberHack-90
'';
};
wayland.windowManager.sway.enable = true;
wayland.windowManager.sway.xwayland = true;
wayland.windowManager.sway.package = pkgs.swayfx;
wayland.windowManager.sway.config = null;
#wayland.windowManager.sway.extraConfigEarly = (if osConfig.var.username == "alyx" then ''set $mod Mod1'' else ''set $mod Mod4'');
wayland.windowManager.sway.extraConfigEarly =
(if osConfig.var.username == "alyx" then ''set $mod Mod1
'' else ''set $mod Mod4
'') + (if osConfig.var.hostname == "calufrax" then ''
input 1:1:AT_Translated_Set_2_keyboard {
xkb_layout "gb"
xkb_variant "colemak"
}
'' else '''');
wayland.windowManager.sway.extraConfig = ''
include ~/.config/nixos/home/wms/sway
'';
wayland.windowManager.sway.checkConfig = false;
wayland.windowManager.mango.enable = true;
wayland.windowManager.mango.systemd.enable = true;
wayland.windowManager.mango.settings = ''
source=~/.config/nixos/home/wms/mango
'' + (if osConfig.var.hostname == "calufrax" then ''
xkb_rules_layout=gb
xkb_rules_variant=colemak
bind=Alt,g,spawn_shell,foot --title launch --app-id fzf-launcher-foot bash -c 'compgen -c | sort -u | fzf --bind=enter:replace-query+print-query | xargs -I {} mmsg -d spawn,{}'
bind=alt+shift,k,quit
click_method=2
disable_while_typing=0
gesturebind=none,left,4,viewtoleft_have_client
gesturebind=none,right,4,viewtoright_have_client
gesturebind=none,up,4,toggleoverview
gesturebind=none,down,4,toggleoverview
gesturebind=none,left,3,focusdir,left
gesturebind=none,right,3,focusdir,right
gesturebind=none,up,3,focusdir,up
gesturebind=none,down,3,focusdir,down
'' else '''');
services.kanshi = {
enable = true;
settings = [
{
profile.name = "alyx-desktop";
profile.outputs = [
{ criteria = "Microstep MSI G273Q CA8A463100033"; position = "1600,0"; mode = "2560x1440@164.835007"; }
{ criteria = "Dell Inc. DELL 2007FP MY546856GT2L"; position = "0,0"; mode = "1600x1200@60.000000"; }
];
}
];
};
programs.nix-index-database.comma.enable = true;
programs.obs-studio.enable = true;
home.packages = with pkgs; [
grim
yarg
slurp
swww
fzf
libsForQt5.qt5ct
kdePackages.qt6ct
libsForQt5.qtstyleplugin-kvantum
kdePackages.qtstyleplugin-kvantum
mypackages.cyberhack
android-tools
blender
brightnessctl
bs-manager
clonehero
fastfetch
gimp
hyfetch
inkscape
kanshi
libnotify
mpc
nemo
pavucontrol
playerctl
prismlauncher
swaybg
swaynotificationcenter
tetrio-desktop
transmission_4-qt
vesktop
wl-clipboard
wlr-randr
wttrbar
v4l-utils
steam
inputs.waterfox.packages.${pkgs.stdenv.hostPlatform.system}.waterfox-bin
];
}