Modularization of most of the home-manager config

This commit is contained in:
xqtc161 2024-03-09 12:58:01 +01:00
parent 9a79731723
commit b77d9b37ae
4 changed files with 222 additions and 205 deletions

View file

@ -7,7 +7,11 @@
}: { }: {
imports = [ imports = [
./modules/nixvim.nix ./modules/nixvim.nix
./modules/shell.nix
./modules/firefox.nix ./modules/firefox.nix
./modules/wm.nix
./modules/gtk.nix
./modules/home-pkgs.nix
#./modules/ssh.nix #./modules/ssh.nix
]; ];
home.username = "xqtc"; home.username = "xqtc";
@ -25,215 +29,69 @@
programs.joshuto = {enable = true;}; programs.joshuto = {enable = true;};
programs = {
zsh.enable = true;
atuin = {
enable = true;
enableNushellIntegration = true;
};
eza.enable = true;
nushell = {
enable = true;
shellAliases = {ls = "eza -l --icons --group-directories-first";};
extraConfig = "uwufetch --image";
configFile = {
text = ''
$env.config = {
show_banner: false
}
'';
};
};
carapace.enable = true;
carapace.enableNushellIntegration = true;
starship = let
flavour = "mocha";
in {
enable = true;
enableNushellIntegration = true;
enableBashIntegration = true;
enableZshIntegration = true;
settings =
{
# Other config here
character = {
success_symbol = "[λ::](bold green)";
error_symbol = "[λ::](bold red)";
};
username = {
style_user = "bold pink";
format = "[$user]($style)";
show_always = true;
disabled = false;
};
hostname = {
ssh_only = false;
format = "[ 🏳 ](bold pink)[$hostname](bold flamingo)";
disabled = false;
};
right_format = "$all";
format = ''
$username$hostname in $directory
$character'';
palette = "catppuccin_${flavour}";
}
// builtins.fromTOML (builtins.readFile (pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "starship";
rev = "5629d2356f62a9f2f8efad3ff37476c19969bd4f"; # Replace with the latest commit hash
sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0=";
}
+ /palettes/${flavour}.toml));
};
};
dconf.enable = true; dconf.enable = true;
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
cursor-theme = "Adwaita";
};
};
gtk = {
enable = true;
theme = {
name = "Catppuccin-Mocha-Compact-Pink-Dark";
package = pkgs.catppuccin-gtk.override {
accents = ["pink"];
size = "compact";
tweaks = ["rimless"];
variant = "mocha";
};
};
};
home.sessionVariables.DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox";
home.file."~/.local/share/fonts/AppleColorEmoji.ttf".source =
./config-files/AppleColorEmoji.ttf;
wayland.windowManager.hyprland = {
enable = true;
package = pkgs.hyprland;
#xwayland.enable = true;
#enableNvidiaPatches = true;
extraConfig = builtins.readFile ./config-files/hyprland.conf;
};
programs.waybar = {
enable = true;
settings = {
mainBar = {
layer = "top";
position = "top";
height = 30;
modules-left = ["hyprland/workspaces"];
#modules-center = [ "hyprland/window" ];
modules-right = ["tray" "network" "battery" "battery#bat2" "clock"];
"tray" = {"icon-size" = 21;};
"network" = {
"format-wifi" = "NET: {essid} ({signalStrength}%) ";
"format-ethernet" = "{ifname} ";
"format-disconnected" = "";
"max-length" = 50;
};
"battery" = {
"bat" = "BAT0";
"interval" = 10;
"states" = {
"warning" = 30;
"critical" = 15;
};
"format" = " BAT IN: {capacity}%";
#"format-icons" = ''["", "", "", "", ""]'';
"max-length" = 25;
};
"battery#bat2" = {
"bat" = "BAT1";
"interval" = 10;
"states" = {
"warning" = 30;
"critical" = 15;
};
"format" = " BAT EX: {capacity}%";
#"format-icons" = ''["", "", "", "", ""]'';
"max-length" = 25;
};
};
};
style = builtins.readFile ./config-files/waybar-mocha.css;
};
services.mako = {
enable = true;
font = "Hack Nerd Font 15";
backgroundColor = "#1e1e2e";
textColor = "#cdd6f4";
};
services.easyeffects = {enable = true;}; services.easyeffects = {enable = true;};
home.packages = with pkgs; [ # home.packages = with pkgs; [
neofetch # neofetch
uwufetch # uwufetch
btop # btop
iftop # iftop
ranger # ranger
#
obsidian # obsidian
#
moodle-dl # moodle-dl
#
brightnessctl # brightnessctl
pavucontrol # pavucontrol
#
bitwarden # bitwarden
bitwarden-cli # bitwarden-cli
#
sway-contrib.grimshot # sway-contrib.grimshot
#
libnotify # libnotify
#
strace # strace
ltrace # ltrace
#
nodejs # nodejs
#
nerdfonts # nerdfonts
vivaldi # vivaldi
vivaldi-ffmpeg-codecs # vivaldi-ffmpeg-codecs
#
signal-desktop # signal-desktop
vesktop # vesktop
discord # discord
telegram-desktop # telegram-desktop
webex # webex
element-desktop # element-desktop
#
qbittorrent # qbittorrent
nicotine-plus # nicotine-plus
#
via # via
qmk # qmk
qmk-udev-rules # qmk-udev-rules
#
neovide # neovide
#
yubioath-flutter # yubioath-flutter
#
steam # steam
protonup-qt # protonup-qt
#
spotify # spotify
sayonara # sayonara
mpv # mpv
feishin # feishin
#
nixos-icons # nixos-icons
swww # swww
]; # ];
home.stateVersion = "23.11"; home.stateVersion = "23.11";
programs.home-manager.enable = true; programs.home-manager.enable = true;

26
home/modules/gtk.nix Normal file
View file

@ -0,0 +1,26 @@
{
config,
pkgs,
inputs,
...
}: {
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
cursor-theme = "Adwaita";
};
};
gtk = {
enable = true;
theme = {
name = "Catppuccin-Mocha-Compact-Pink-Dark";
package = pkgs.catppuccin-gtk.override {
accents = ["pink"];
size = "compact";
tweaks = ["rimless"];
variant = "mocha";
};
};
};
}

View file

@ -0,0 +1,66 @@
{
config,
inputs,
pkgs,
...
}: {
home.packages = with pkgs; [
neofetch
uwufetch
btop
iftop
ranger
obsidian
moodle-dl
brightnessctl
pavucontrol
bitwarden
bitwarden-cli
sway-contrib.grimshot
libnotify
strace
ltrace
nodejs
nerdfonts
vivaldi
vivaldi-ffmpeg-codecs
signal-desktop
vesktop
discord
telegram-desktop
webex
element-desktop
qbittorrent
nicotine-plus
via
qmk
qmk-udev-rules
neovide
yubioath-flutter
steam
protonup-qt
spotify
sayonara
mpv
feishin
nixos-icons
swww
];
}

67
home/modules/wm.nix Normal file
View file

@ -0,0 +1,67 @@
{
config,
pkgs,
inputs,
...
}: {
wayland.windowManager.hyprland = {
enable = true;
package = pkgs.hyprland;
#xwayland.enable = true;
#enableNvidiaPatches = true;
extraConfig = builtins.readFile ../config-files/hyprland.conf;
};
programs.waybar = {
enable = true;
settings = {
mainBar = {
layer = "top";
position = "top";
height = 30;
modules-left = ["hyprland/workspaces"];
#modules-center = [ "hyprland/window" ];
modules-right = ["tray" "network" "battery" "battery#bat2" "clock"];
"tray" = {"icon-size" = 21;};
"network" = {
"format-wifi" = "NET: {essid} ({signalStrength}%) ";
"format-ethernet" = "{ifname} ";
"format-disconnected" = "";
"max-length" = 50;
};
"battery" = {
"bat" = "BAT0";
"interval" = 10;
"states" = {
"warning" = 30;
"critical" = 15;
};
"format" = " BAT IN: {capacity}%";
#"format-icons" = ''["", "", "", "", ""]'';
"max-length" = 25;
};
"battery#bat2" = {
"bat" = "BAT1";
"interval" = 10;
"states" = {
"warning" = 30;
"critical" = 15;
};
"format" = " BAT EX: {capacity}%";
#"format-icons" = ''["", "", "", "", ""]'';
"max-length" = 25;
};
};
};
style = builtins.readFile ../config-files/waybar-mocha.css;
};
services.mako = {
enable = true;
font = "Hack Nerd Font 15";
backgroundColor = "#1e1e2e";
textColor = "#cdd6f4";
};
}