nixos-config/home/default.nix

243 lines
5.3 KiB
Nix
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ config, pkgs, lib, inputs, ... }:
{
imports = [
./modules/nixvim.nix
./modules/firefox.nix
#./modules/ssh.nix
];
home.username = "xqtc";
home.homeDirectory = "/home/xqtc";
programs.git = {
enable = true;
userName = "xqtc161";
userEmail = "xqtc@tutanota.com";
};
programs.wezterm = {
enable = true;
extraConfig = builtins.readFile ./config-files/wezterm.lua;
};
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.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;
#programs.firefox = {
# enable = true;
# package = pkgs.firefox.override {
# cfg = {
# enableGnomeExtensions = true;
# };
# };
#};
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";
};
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
neovide
yubioath-flutter
steam
protonup-qt
spotify
sayonara
mpv
nixos-icons
swww
];
home.stateVersion = "23.11";
programs.home-manager.enable = true;
}