pluto-flake/home/default.nix

219 lines
6.3 KiB
Nix

{config, pkgs, lib, inputs, vars, osConfig, ...}:{
imports = [
inputs.noctalia.homeModules.default
];
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/waybar/cyberhack" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/modern");
".config/waybar/style.css".source = (if osConfig.var.username == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/cyberhack.css" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/modern.css");
};
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 if osConfig.var.username == "fenix" then "${pkgs.wivrn}/share/openxr/1/openxr_wivrn.json" else null);
xdg.configFile."openvr/openvrpaths.vrpath".text = (if osConfig.var.hostname == "apalapucia" || osConfig.var.hostname == "fenix" then ''
{
"config" :
[
"${config.xdg.dataHome}/Steam/config"
],
"external_drivers" : null,
"jsonid" : "vrpathreg",
"log" :
[
"${config.xdg.dataHome}/Steam/logs"
],
"runtime" :
[
"${pkgs.xrizer}/lib/xrizer"
],
"version" : 1
}
'' else null);
programs.home-manager.enable = true;
programs.noctalia-shell.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.alpha = "0.6";
settings.colors.foreground = "00ffff";
settings.colors.background = "002428";
settings.colors.regular0 = "002428";
settings.colors.regular1 = "c01c32";
settings.colors.regular2 = "57ff00";
settings.colors.regular3 = "f9f06b";
settings.colors.regular4 = "00ffff";
settings.colors.regular5 = "dc8add";
settings.colors.regular6 = "009294";
settings.colors.regular7 = "62ffff";
settings.colors.bright0 = "021f22";
settings.colors.bright1 = "f21633";
settings.colors.bright2 = "abff80";
settings.colors.bright3 = "f6d32d";
settings.colors.bright4 = "92c4ff";
settings.colors.bright5 = "e7a3e8";
settings.colors.bright6 = "3bc5c3";
settings.colors.bright7 = "ffffff";
settings.colors.selection-foreground = "62ffff";
settings.colors.selection-background = "006e68";
settings.colors.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;
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"; }
{ criteria = "Valve Corporation index HMD 0xEDE55842"; status = "disable"; }
];
}
];
};
programs.nix-index-database.comma.enable = true;
programs.obs-studio.enable = true;
home.packages = with pkgs; [
grim
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
];
}