2024-11-18 20:30 : id 181
This commit is contained in:
parent
bbfa71efee
commit
4893026dda
441
:wq
Normal file
441
:wq
Normal file
@ -0,0 +1,441 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
let
|
||||||
|
# Theme/Mode
|
||||||
|
THEME = "kami";
|
||||||
|
MODE = "dark";
|
||||||
|
|
||||||
|
# Colours
|
||||||
|
inherit (import ./themes/${THEME}_${MODE}.nix) BG FG GRAY DARK_GRAY RED DARK_RED GREEN DARK_GREEN YELLOW DARK_YELLOW BLUE DARK_BLUE PURPLE DARK_PURPLE CYAN DARK_CYAN;
|
||||||
|
ACCENT = "${CYAN}";
|
||||||
|
SECOND_ACCENT = "${PURPLE}";
|
||||||
|
ACTIVE_BORDER_COLOR = "${ACCENT}";
|
||||||
|
INACTIVE_BORDER_COLOR = "${FG}";
|
||||||
|
SHADOW_COLOR = "${FG}"
|
||||||
|
|
||||||
|
# Programs
|
||||||
|
MENU = "fuzzel";
|
||||||
|
TERMINAL = "kitty";
|
||||||
|
|
||||||
|
# Numbers
|
||||||
|
GAPS_IN = "20";
|
||||||
|
GAPS_OUT = "40";
|
||||||
|
BORDER_WIDTH = "2";
|
||||||
|
CORNER_RADIUS = "0";
|
||||||
|
WAYBAR_CORNER_RADIUS = "0";
|
||||||
|
TERMINAL_OPACITY = "1";
|
||||||
|
SCREEN_HEIGHT = 1080;
|
||||||
|
SCREEN_WIDTH = 1920;
|
||||||
|
FUZZEL_WIDTH = "25";
|
||||||
|
FUZZEL_HEIGHT = "15";
|
||||||
|
FUZZEL_OPACITY = "99";
|
||||||
|
|
||||||
|
# Other
|
||||||
|
HOME = "/home/deadvey";
|
||||||
|
WALLPAPER = "${THEME}_${MODE}.png";
|
||||||
|
WALLPAPER_PATH = "${HOME}/.config/home-manager/themes/${WALLPAPER}";
|
||||||
|
FONT = "VictorMono Nerd Font Mono";
|
||||||
|
FUZZEL_PROMPT = " >> ";
|
||||||
|
DUNST_ORIGIN = "top-center";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
# Home Manager needs a bit of information about you and the paths it should
|
||||||
|
# manage.
|
||||||
|
|
||||||
|
home = {
|
||||||
|
username = "deadvey";
|
||||||
|
homeDirectory = "/home/deadvey";
|
||||||
|
enableNixpkgsReleaseCheck = false;
|
||||||
|
stateVersion = "24.11";
|
||||||
|
packages = with pkgs; [
|
||||||
|
anki
|
||||||
|
hyprland
|
||||||
|
hyprpicker
|
||||||
|
hyprpaper
|
||||||
|
hyprlock
|
||||||
|
hypridle
|
||||||
|
libreoffice
|
||||||
|
librewolf
|
||||||
|
fuzzel
|
||||||
|
waybar
|
||||||
|
kitty
|
||||||
|
dunst
|
||||||
|
fastfetch
|
||||||
|
mpv
|
||||||
|
minetest
|
||||||
|
gimp
|
||||||
|
wl-clipboard
|
||||||
|
killall
|
||||||
|
thunderbird
|
||||||
|
keepassxc
|
||||||
|
unzip
|
||||||
|
];
|
||||||
|
pointerCursor = {
|
||||||
|
gtk.enable = true;
|
||||||
|
package = pkgs.gnome.adwaita-icon-theme;
|
||||||
|
name = "Adwaita";
|
||||||
|
size = 16;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
programs = {
|
||||||
|
neovim = {
|
||||||
|
defaultEditor = true;
|
||||||
|
enable = true;
|
||||||
|
vimAlias = true;
|
||||||
|
extraConfig = ''
|
||||||
|
set clipboard=unnamedplus
|
||||||
|
set relativenumber
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
bash = {
|
||||||
|
enable = true;
|
||||||
|
shellAliases = {
|
||||||
|
ls="ls -l";
|
||||||
|
};
|
||||||
|
bashrcExtra=''
|
||||||
|
PS1="[\[\033[32m\]\w]\[\033[0m\]\n\[\033[1;36m\]\u\[\033[1;33m\] => \[\033[0m\]"
|
||||||
|
fastfetch
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "deadvey";
|
||||||
|
userEmail = "deadvey@nixos";
|
||||||
|
};
|
||||||
|
kitty = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
confirm_os_window_close = 0;
|
||||||
|
background_opacity = "${TERMINAL_OPACITY}";
|
||||||
|
foreground = "#${FG}";
|
||||||
|
background = "#${BG}";
|
||||||
|
selection_foreground = "#${BG}";
|
||||||
|
selection_background = "#${FG}";
|
||||||
|
color0 = "#${GRAY}";
|
||||||
|
color8 = "#${BG}";
|
||||||
|
color1 = "#${RED}";
|
||||||
|
color9 = "#${DARK_RED}";
|
||||||
|
color2 = "#${GREEN}";
|
||||||
|
color10 = "#${DARK_GREEN}";
|
||||||
|
color3 = "#${YELLOW}";
|
||||||
|
color11 = "#${DARK_YELLOW}";
|
||||||
|
color4 = "#${BLUE}";
|
||||||
|
color12 = "#${DARK_BLUE}";
|
||||||
|
color5 = "#${PURPLE}";
|
||||||
|
color13 = "#${DARK_PURPLE}";
|
||||||
|
color6 = "#${BLUE}";
|
||||||
|
color14 = "#${DARK_BLUE}";
|
||||||
|
color7 = "#${GRAY}";
|
||||||
|
color15 = "#${DARK_GRAY}";
|
||||||
|
};
|
||||||
|
font = {
|
||||||
|
name = "VictorMono Nerd Font Mono";
|
||||||
|
package = pkgs.victor-mono;
|
||||||
|
size = 8;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
hyprlock = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
disable_loading_bar = true;
|
||||||
|
grace = 1;
|
||||||
|
no_fade_in = false;
|
||||||
|
};
|
||||||
|
background = [
|
||||||
|
{
|
||||||
|
path = "${WALLPAPER_PATH}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
input-field = [
|
||||||
|
{
|
||||||
|
size = "200, 50";
|
||||||
|
position = "0, 0";
|
||||||
|
dots_rounding = "${CORNER_RADIUS}";
|
||||||
|
dots_center = true;
|
||||||
|
fade_on_empty = true;
|
||||||
|
font_color = "${FG}";
|
||||||
|
inner_color = "${FG}";
|
||||||
|
outer_color = "${ACCENT}";
|
||||||
|
outline_thickness = "${BORDER_WIDTH}";
|
||||||
|
placeholder_text = "Password...";
|
||||||
|
fail_text = "😬 Oooooh that was wrong mate!⚠️";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
fuzzel = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
main = {
|
||||||
|
prompt = "${FUZZEL_PROMPT}";
|
||||||
|
width = "${FUZZEL_WIDTH}";
|
||||||
|
lines = "${FUZZEL_HEIGHT}";
|
||||||
|
icons-enables = "no";
|
||||||
|
font = "${FONT}";
|
||||||
|
};
|
||||||
|
colors = {
|
||||||
|
background = "${BG}${FUZZEL_OPACITY}";
|
||||||
|
border = "${ACCENT}ff";
|
||||||
|
match = "${RED}ff";
|
||||||
|
selection = "${FG}ff";
|
||||||
|
selection-text = "${BG}ff";
|
||||||
|
text = "${FG}ff";
|
||||||
|
prompt = "${FG}ff";
|
||||||
|
input = "${FG}ff";
|
||||||
|
};
|
||||||
|
border = {
|
||||||
|
width = "${BORDER_WIDTH}";
|
||||||
|
radius = "${CORNER_RADIUS}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
waybar = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
screenBorder = {
|
||||||
|
mode = "overlay";
|
||||||
|
layer = "bottom";
|
||||||
|
name = "screenBorder";
|
||||||
|
position = "top";
|
||||||
|
height = SCREEN_HEIGHT;
|
||||||
|
width = SCREEN_WIDTH;
|
||||||
|
modules-center = ["custom/empty"];
|
||||||
|
"custom/empty" = {
|
||||||
|
format = " ";
|
||||||
|
interval = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
main = {
|
||||||
|
mode = "overlay";
|
||||||
|
layer = "bottom";
|
||||||
|
name = "main";
|
||||||
|
position = "top";
|
||||||
|
height = 20;
|
||||||
|
modules-center = ["custom/clock"];
|
||||||
|
"custom/clock" = {
|
||||||
|
format = "{}";
|
||||||
|
exec = "bash /home/deadvey/Code/git/time-to-metrictime-converter/time.sh --hex";
|
||||||
|
interval = 1;
|
||||||
|
};
|
||||||
|
"hyprland/workspaces" = {
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
style = ''
|
||||||
|
window#waybar.screenBorder {
|
||||||
|
border: ${BORDER_WIDTH}px solid #${ACCENT};
|
||||||
|
background-color: transparent;
|
||||||
|
box-shadow: 0px 0px 0px 60px black, 0px 0px 0px 0.5px #${FG};
|
||||||
|
border-radius: ${WAYBAR_CORNER_RADIUS}px;
|
||||||
|
margin: 20px;
|
||||||
|
}
|
||||||
|
window#waybar.main {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
#custom-clock {
|
||||||
|
color: #${PURPLE};
|
||||||
|
background: #${BG};
|
||||||
|
border: ${BORDER_WIDTH}px solid #${ACCENT};
|
||||||
|
border-radius: ${WAYBAR_CORNER_RADIUS};
|
||||||
|
padding: 3px;
|
||||||
|
margin: 6px;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services = {
|
||||||
|
hyprpaper = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
ipc = "on";
|
||||||
|
preload = [ "${WALLPAPER_PATH}" ];
|
||||||
|
wallpaper = [ "HDMI-A-1,${WALLPAPER_PATH}" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
hypridle = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
listener = [
|
||||||
|
{
|
||||||
|
timeout = 100;
|
||||||
|
on-timeout = "hyprlock";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
dunst = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
global = {
|
||||||
|
width = 300;
|
||||||
|
height = 300;
|
||||||
|
offset = "${GAPS_OUT}x${GAPS_OUT}";
|
||||||
|
origin = "${DUNST_ORIGIN}";
|
||||||
|
font = "${FONT}";
|
||||||
|
corner_radius = "${CORNER_RADIUS}";
|
||||||
|
foreground = "#${FG}";
|
||||||
|
frame_color = "#${ACCENT}";
|
||||||
|
frame_width = "${BORDER_WIDTH}";
|
||||||
|
};
|
||||||
|
urgency_low = {
|
||||||
|
background = "#${GREEN}";
|
||||||
|
timeout=3;
|
||||||
|
};
|
||||||
|
urgency_normal = {
|
||||||
|
background = "#${BLUE}";
|
||||||
|
timeout=6;
|
||||||
|
};
|
||||||
|
urgency_critical = {
|
||||||
|
background = "#${RED}";
|
||||||
|
timeout=12;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
wayland = {
|
||||||
|
windowManager = {
|
||||||
|
hyprland = {
|
||||||
|
enable = true;
|
||||||
|
plugins = with pkgs; [
|
||||||
|
#hyprlandPlugins.hyprbars
|
||||||
|
hyprlandPlugins.hyprexpo
|
||||||
|
];
|
||||||
|
extraConfig = ''
|
||||||
|
exec-once="waybar";
|
||||||
|
exec-once="dunst";
|
||||||
|
exec-once="hyprpaper";
|
||||||
|
exec-once="wpaperd -d -c $HOME/.config/wpaperd/wallpaper.toml";
|
||||||
|
exec-once="hypridle";
|
||||||
|
exec-once="dunst";
|
||||||
|
'';
|
||||||
|
settings = {
|
||||||
|
"$mod" = "SUPER";
|
||||||
|
plugin = {
|
||||||
|
hyprexpo = {
|
||||||
|
columns = 3;
|
||||||
|
gap_size = 5;
|
||||||
|
bg_col = "rgb(${BG})";
|
||||||
|
workspace_method = "center current";
|
||||||
|
};
|
||||||
|
hyprbars = {
|
||||||
|
bar_height = 25;
|
||||||
|
bar_color = "rgb(${BG})";
|
||||||
|
"col.text" = "rgb(${FG})";
|
||||||
|
hyprbars-button = "rgb(${RED}), 10, X, hyprctl dispatch killactive";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
general = {
|
||||||
|
gaps_in = "${GAPS_IN}";
|
||||||
|
gaps_out = "${GAPS_OUT}";
|
||||||
|
border_size = "${BORDER_WIDTH}";
|
||||||
|
"col.active_border" = "rgb(${ACCENT})";
|
||||||
|
"col.inactive_border" = "rgb(${INACTIVE_BORDER_COLOR})";
|
||||||
|
resize_on_border = false;
|
||||||
|
layout = "dwindle";
|
||||||
|
};
|
||||||
|
decoration = {
|
||||||
|
rounding="${CORNER_RADIUS}";
|
||||||
|
|
||||||
|
drop_shadow = true;
|
||||||
|
"col.shadow" = "rgb(0,0,0)";
|
||||||
|
shadow_offset = "12 12";
|
||||||
|
shadow_range = "0";
|
||||||
|
};
|
||||||
|
input = {
|
||||||
|
kb_layout = "gb";
|
||||||
|
};
|
||||||
|
bindm = [
|
||||||
|
"$mod, mouse:272, movewindow"
|
||||||
|
"$mod, mouse:273, resizewindow"
|
||||||
|
];
|
||||||
|
bind = [
|
||||||
|
"$mod, Space, exec, ${MENU}"
|
||||||
|
"$mod, Q, exec, ${TERMINAL}"
|
||||||
|
"$mod ALT, up, exec, pactl set-sink-volume 0 +5%"
|
||||||
|
"$mod ALT, down, exec, pactl set-sink-volume 0 -5%"
|
||||||
|
"$mod, grave, hyprexpo:expo, toggle"
|
||||||
|
"$mod, P, exec, grimshot copy area"
|
||||||
|
"$mod, L, exec, hyprlock"
|
||||||
|
"$mod, C, killactive"
|
||||||
|
"$mod, O, exec, hyprpicker -a"
|
||||||
|
"$mod, M, fullscreen, 1"
|
||||||
|
"$mod SHIFT, E, exit"
|
||||||
|
"$mod, J, togglesplit,"
|
||||||
|
"$mod, V, toggleFloating,"
|
||||||
|
"$mod, U, pseudo,"
|
||||||
|
"$mod SHIFT, Q, exit"
|
||||||
|
"$mod, left, movefocus, l"
|
||||||
|
"$mod, right, movefocus, r"
|
||||||
|
"$mod, up, movefocus, u"
|
||||||
|
"$mod, down, movefocus, d"
|
||||||
|
"$mod SHIFT, left, movewindow, l"
|
||||||
|
"$mod SHIFT, right, movewindow, r"
|
||||||
|
"$mod SHIFT, up, movewindow, u"
|
||||||
|
"$mod SHIFT, down, movewindow, d"
|
||||||
|
"$mod, 1, workspace, 1"
|
||||||
|
"$mod, 2, workspace, 2"
|
||||||
|
"$mod, 3, workspace, 3"
|
||||||
|
"$mod, 4, workspace, 4"
|
||||||
|
"$mod, 5, workspace, 5"
|
||||||
|
"$mod, 6, workspace, 6"
|
||||||
|
"$mod, 7, workspace, 7"
|
||||||
|
"$mod, 8, workspace, 8"
|
||||||
|
"$mod, 9, workspace, 9"
|
||||||
|
"$mod, 0, workspace, 10"
|
||||||
|
"$mod SHIFT, 1, movetoworkspace, 1"
|
||||||
|
"$mod SHIFT, 2, movetoworkspace, 2"
|
||||||
|
"$mod SHIFT, 3, movetoworkspace, 3"
|
||||||
|
"$mod SHIFT, 4, movetoworkspace, 4"
|
||||||
|
"$mod SHIFT, 5, movetoworkspace, 5"
|
||||||
|
"$mod SHIFT, 6, movetoworkspace, 6"
|
||||||
|
"$mod SHIFT, 7, movetoworkspace, 7"
|
||||||
|
"$mod SHIFT, 8, movetoworkspace, 8"
|
||||||
|
"$mod SHIFT, 9, movetoworkspace, 9"
|
||||||
|
"$mod SHIFT, 0, movetoworkspace, 10"
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||||
|
# plain files is through 'home.file'.
|
||||||
|
home.file = {
|
||||||
|
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
|
||||||
|
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
|
||||||
|
# # symlink to the Nix store copy.
|
||||||
|
# ".screenrc".source = dotfiles/screenrc;
|
||||||
|
|
||||||
|
# # You can also set the file content immediately.
|
||||||
|
# ".gradle/gradle.properties".text = ''
|
||||||
|
# org.gradle.console=verbose
|
||||||
|
# org.gradle.daemon.idletimeout=3600000
|
||||||
|
# '';
|
||||||
|
};
|
||||||
|
|
||||||
|
# Home Manager can also manage your environment variables through
|
||||||
|
# 'home.sessionVariables'. These will be explicitly sourced when using a
|
||||||
|
# shell provided by Home Manager. If you don't want to manage your shell
|
||||||
|
# through Home Manager then you have to manually source 'hm-session-vars.sh'
|
||||||
|
# located at either
|
||||||
|
#
|
||||||
|
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||||
|
#
|
||||||
|
# or
|
||||||
|
#
|
||||||
|
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
|
||||||
|
#
|
||||||
|
# or
|
||||||
|
#
|
||||||
|
# /etc/profiles/per-user/deadvey/etc/profile.d/hm-session-vars.sh
|
||||||
|
#
|
||||||
|
home.sessionVariables = {
|
||||||
|
# EDITOR = "emacs";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Let Home Manager install and manage itself.
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user