2024-05-14 08:44:34 +02:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
inputs,
|
|
|
|
username,
|
|
|
|
host,
|
|
|
|
gtkThemeFromScheme,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
let
|
2024-05-15 00:55:17 +02:00
|
|
|
palette = config.colorScheme.palette;
|
2024-05-14 08:44:34 +02:00
|
|
|
inherit (import ./variables.nix)
|
|
|
|
gitUsername
|
|
|
|
gitEmail
|
|
|
|
theme
|
|
|
|
browser
|
|
|
|
;
|
|
|
|
in
|
|
|
|
{
|
2024-01-13 06:53:25 +01:00
|
|
|
# Home Manager Settings
|
2024-01-12 09:00:46 +01:00
|
|
|
home.username = "${username}";
|
2024-01-13 06:53:25 +01:00
|
|
|
home.homeDirectory = "/home/${username}";
|
2024-01-09 23:50:24 +01:00
|
|
|
home.stateVersion = "23.11";
|
|
|
|
|
2024-01-14 08:27:50 +01:00
|
|
|
# Set The Colorscheme
|
2024-01-15 20:00:56 +01:00
|
|
|
colorScheme = inputs.nix-colors.colorSchemes."${theme}";
|
2024-01-14 08:27:50 +01:00
|
|
|
|
2024-01-17 07:50:43 +01:00
|
|
|
# Import Program Configurations
|
2024-01-14 08:27:50 +01:00
|
|
|
imports = [
|
2024-01-14 08:54:57 +01:00
|
|
|
inputs.nix-colors.homeManagerModules.default
|
2024-01-23 21:16:57 +01:00
|
|
|
inputs.hyprland.homeManagerModules.default
|
2024-05-14 09:42:14 +02:00
|
|
|
../../config/hyprland.nix
|
2024-05-15 01:39:39 +02:00
|
|
|
../../config/swaync.nix
|
2024-05-14 20:34:02 +02:00
|
|
|
../../config/waybar.nix
|
2024-05-15 01:31:08 +02:00
|
|
|
../../config/wlogout.nix
|
2024-01-14 08:27:50 +01:00
|
|
|
];
|
|
|
|
|
2024-01-13 06:53:25 +01:00
|
|
|
# Define Settings For Xresources
|
2024-01-09 23:50:24 +01:00
|
|
|
xresources.properties = {
|
|
|
|
"Xcursor.size" = 24;
|
|
|
|
};
|
|
|
|
|
2024-05-14 20:04:27 +02:00
|
|
|
# Place Files Inside Home Directory
|
2024-05-15 01:28:13 +02:00
|
|
|
home.file."Pictures/Wallpapers" = {
|
2024-05-14 20:04:27 +02:00
|
|
|
source = ../../config/wallpapers;
|
|
|
|
recursive = true;
|
|
|
|
};
|
|
|
|
home.file.".local/share/fonts" = {
|
|
|
|
source = ../../config/fonts;
|
|
|
|
recursive = true;
|
|
|
|
};
|
2024-05-15 01:01:28 +02:00
|
|
|
home.file.".config/starship.toml".source = ../../config/starship.toml;
|
2024-05-15 01:44:39 +02:00
|
|
|
home.file.".config/ascii-neofetch".source = ../../config/ascii-neofetch;
|
|
|
|
home.file.".base16-themes".source = ../../config/base16-themes;
|
2024-05-15 01:02:45 +02:00
|
|
|
home.file.".emoji".source = ../../config/emoji;
|
2024-05-15 01:53:16 +02:00
|
|
|
home.file.".face.icon".source = ../../config/face.jpg;
|
2024-05-15 01:36:40 +02:00
|
|
|
home.file.".config/neofetch/config.conf".text = ''
|
|
|
|
print_info() {
|
|
|
|
prin "$(color 6) ZaneyOS $ZANEYOS_VERSION"
|
|
|
|
info underline
|
|
|
|
info "$(color 7) VER" kernel
|
|
|
|
info "$(color 2) UP " uptime
|
|
|
|
info "$(color 4) PKG" packages
|
|
|
|
info "$(color 6) DE " de
|
|
|
|
info "$(color 5) TER" term
|
|
|
|
info "$(color 3) CPU" cpu
|
|
|
|
info "$(color 7) GPU" gpu
|
|
|
|
info "$(color 5) MEM" memory
|
|
|
|
prin " "
|
|
|
|
prin "$(color 1) $(color 2) $(color 3) $(color 4) $(color 5) $(color 6) $(color 7) $(color 8)"
|
|
|
|
}
|
|
|
|
distro_shorthand="on"
|
|
|
|
memory_unit="gib"
|
|
|
|
cpu_temp="C"
|
|
|
|
separator=" $(color 4)>"
|
|
|
|
stdout="off"
|
|
|
|
'';
|
2024-05-14 20:04:27 +02:00
|
|
|
|
2024-01-13 06:53:25 +01:00
|
|
|
# Install & Configure Git
|
2024-01-09 23:50:24 +01:00
|
|
|
programs.git = {
|
|
|
|
enable = true;
|
2024-01-13 06:53:25 +01:00
|
|
|
userName = "${gitUsername}";
|
|
|
|
userEmail = "${gitEmail}";
|
2024-01-09 23:50:24 +01:00
|
|
|
};
|
|
|
|
|
2024-01-13 06:53:25 +01:00
|
|
|
# Create XDG Dirs
|
2024-01-09 23:50:24 +01:00
|
|
|
xdg = {
|
|
|
|
userDirs = {
|
2024-05-14 08:44:34 +02:00
|
|
|
enable = true;
|
|
|
|
createDirectories = true;
|
2024-01-09 23:50:24 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-01-24 00:13:37 +01:00
|
|
|
dconf.settings = {
|
|
|
|
"org/virt-manager/virt-manager/connections" = {
|
2024-05-14 08:44:34 +02:00
|
|
|
autoconnect = [ "qemu:///system" ];
|
|
|
|
uris = [ "qemu:///system" ];
|
2024-01-24 00:13:37 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-05-15 01:36:40 +02:00
|
|
|
# Configure Cursor Theme
|
|
|
|
home.pointerCursor = {
|
|
|
|
gtk.enable = true;
|
|
|
|
x11.enable = true;
|
|
|
|
package = pkgs.bibata-cursors;
|
|
|
|
name = "Bibata-Modern-Ice";
|
|
|
|
size = 24;
|
|
|
|
};
|
|
|
|
|
|
|
|
# Theme GTK
|
|
|
|
gtk = {
|
|
|
|
enable = true;
|
|
|
|
font = {
|
|
|
|
name = "Ubuntu";
|
|
|
|
size = 12;
|
|
|
|
package = pkgs.ubuntu_font_family;
|
|
|
|
};
|
|
|
|
theme = {
|
|
|
|
name = "${config.colorScheme.slug}";
|
2024-05-15 02:46:02 +02:00
|
|
|
package = gtkThemeFromScheme { scheme = config.colorScheme; };
|
2024-05-15 01:36:40 +02:00
|
|
|
};
|
|
|
|
iconTheme = {
|
|
|
|
name = "Papirus-Dark";
|
|
|
|
package = pkgs.papirus-icon-theme;
|
|
|
|
};
|
|
|
|
gtk3.extraConfig = {
|
2024-05-15 02:46:02 +02:00
|
|
|
gtk-application-prefer-dark-theme = 1;
|
2024-05-15 01:36:40 +02:00
|
|
|
};
|
|
|
|
gtk4.extraConfig = {
|
2024-05-15 02:46:02 +02:00
|
|
|
gtk-application-prefer-dark-theme = 1;
|
2024-05-15 01:36:40 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
# Theme QT -> GTK
|
|
|
|
qt = {
|
|
|
|
enable = true;
|
|
|
|
platformTheme = "gtk";
|
|
|
|
style = {
|
2024-05-15 02:46:02 +02:00
|
|
|
name = "adwaita-dark";
|
|
|
|
package = pkgs.adwaita-qt;
|
2024-05-15 01:36:40 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-05-15 00:53:36 +02:00
|
|
|
# Scripts
|
2024-05-17 08:53:48 +02:00
|
|
|
home.packages = [
|
2024-05-15 01:01:28 +02:00
|
|
|
(import ../../scripts/emopicker9000.nix { inherit pkgs; })
|
|
|
|
(import ../../scripts/task-waybar.nix { inherit pkgs; })
|
|
|
|
(import ../../scripts/squirtle.nix { inherit pkgs; })
|
2024-05-15 01:36:40 +02:00
|
|
|
(import ../../scripts/themechange.nix {
|
|
|
|
inherit pkgs;
|
|
|
|
inherit host;
|
|
|
|
inherit username;
|
|
|
|
})
|
2024-05-15 01:01:28 +02:00
|
|
|
(import ../../scripts/theme-selector.nix { inherit pkgs; })
|
|
|
|
(import ../../scripts/nvidia-offload.nix { inherit pkgs; })
|
2024-05-15 01:36:40 +02:00
|
|
|
(import ../../scripts/wallsetter.nix {
|
|
|
|
inherit pkgs;
|
|
|
|
inherit username;
|
|
|
|
})
|
2024-05-15 01:01:28 +02:00
|
|
|
(import ../../scripts/web-search.nix { inherit pkgs; })
|
|
|
|
(import ../../scripts/rofi-launcher.nix { inherit pkgs; })
|
|
|
|
(import ../../scripts/screenshootin.nix { inherit pkgs; })
|
2024-05-15 01:36:40 +02:00
|
|
|
(import ../../scripts/list-hypr-bindings.nix {
|
|
|
|
inherit pkgs;
|
|
|
|
inherit host;
|
|
|
|
})
|
2024-05-15 00:53:36 +02:00
|
|
|
];
|
|
|
|
|
2024-05-14 20:04:27 +02:00
|
|
|
programs = {
|
2024-05-15 00:53:36 +02:00
|
|
|
gh.enable = true;
|
2024-05-17 08:53:48 +02:00
|
|
|
neovim = {
|
|
|
|
enable = true;
|
|
|
|
defaultEditor = true;
|
|
|
|
viAlias = true;
|
|
|
|
vimAlias = true;
|
|
|
|
vimdiffAlias = true;
|
|
|
|
withNodeJs = true;
|
|
|
|
extraPackages = with pkgs; [
|
|
|
|
lua-language-server
|
|
|
|
gopls
|
|
|
|
xclip
|
|
|
|
wl-clipboard
|
|
|
|
luajitPackages.lua-lsp
|
|
|
|
nil
|
|
|
|
rust-analyzer
|
|
|
|
nodePackages.bash-language-server
|
|
|
|
yaml-language-server
|
|
|
|
pyright
|
|
|
|
marksman
|
|
|
|
];
|
|
|
|
plugins = with pkgs.vimPlugins; [
|
|
|
|
alpha-nvim
|
|
|
|
auto-session
|
|
|
|
bufferline-nvim
|
|
|
|
dressing-nvim
|
|
|
|
indent-blankline-nvim
|
|
|
|
nvim-treesitter.withAllGrammars
|
|
|
|
lualine-nvim
|
|
|
|
nvim-autopairs
|
|
|
|
nvim-web-devicons
|
|
|
|
nvim-cmp
|
|
|
|
nvim-surround
|
|
|
|
nvim-lspconfig
|
|
|
|
cmp-nvim-lsp
|
|
|
|
cmp-buffer
|
|
|
|
luasnip
|
|
|
|
cmp_luasnip
|
|
|
|
friendly-snippets
|
|
|
|
lspkind-nvim
|
|
|
|
comment-nvim
|
|
|
|
nvim-ts-context-commentstring
|
|
|
|
{
|
|
|
|
plugin = dracula-nvim;
|
|
|
|
config = "colorscheme dracula";
|
|
|
|
}
|
|
|
|
plenary-nvim
|
|
|
|
neodev-nvim
|
|
|
|
luasnip
|
|
|
|
telescope-nvim
|
|
|
|
todo-comments-nvim
|
|
|
|
nvim-tree-lua
|
|
|
|
telescope-fzf-native-nvim
|
|
|
|
vim-tmux-navigator
|
|
|
|
];
|
|
|
|
extraLuaConfig = ''
|
|
|
|
${builtins.readFile ../../config/nvim/options.lua}
|
|
|
|
${builtins.readFile ../../config/nvim/keymaps.lua}
|
|
|
|
${builtins.readFile ../../config/nvim/plugins/alpha.lua}
|
|
|
|
${builtins.readFile ../../config/nvim/plugins/autopairs.lua}
|
|
|
|
${builtins.readFile ../../config/nvim/plugins/auto-session.lua}
|
|
|
|
${builtins.readFile ../../config/nvim/plugins/comment.lua}
|
|
|
|
${builtins.readFile ../../config/nvim/plugins/cmp.lua}
|
|
|
|
${builtins.readFile ../../config/nvim/plugins/lsp.lua}
|
|
|
|
${builtins.readFile ../../config/nvim/plugins/nvim-tree.lua}
|
|
|
|
${builtins.readFile ../../config/nvim/plugins/telescope.lua}
|
|
|
|
${builtins.readFile ../../config/nvim/plugins/todo-comments.lua}
|
|
|
|
${builtins.readFile ../../config/nvim/plugins/treesitter.lua}
|
|
|
|
require("ibl").setup()
|
|
|
|
require("bufferline").setup{}
|
|
|
|
require("lualine").setup({
|
|
|
|
icons_enabled = true,
|
|
|
|
theme = 'dracula',
|
|
|
|
})
|
|
|
|
'';
|
|
|
|
};
|
2024-05-15 00:53:36 +02:00
|
|
|
kitty = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.kitty;
|
|
|
|
font.name = "JetBrainsMono Nerd Font";
|
|
|
|
font.size = 16;
|
|
|
|
settings = {
|
|
|
|
scrollback_lines = 2000;
|
|
|
|
wheel_scroll_min_lines = 1;
|
|
|
|
window_padding_width = 4;
|
|
|
|
confirm_os_window_close = 0;
|
2024-05-15 01:28:13 +02:00
|
|
|
background_opacity = "0.9";
|
2024-05-15 00:53:36 +02:00
|
|
|
};
|
|
|
|
extraConfig = ''
|
|
|
|
foreground #${palette.base05}
|
|
|
|
background #${palette.base00}
|
|
|
|
color0 #${palette.base03}
|
|
|
|
color1 #${palette.base08}
|
|
|
|
color2 #${palette.base0B}
|
|
|
|
color3 #${palette.base09}
|
|
|
|
color4 #${palette.base0D}
|
|
|
|
color5 #${palette.base0E}
|
|
|
|
color6 #${palette.base0C}
|
|
|
|
color7 #${palette.base06}
|
|
|
|
color8 #${palette.base04}
|
|
|
|
color9 #${palette.base08}
|
|
|
|
color10 #${palette.base0B}
|
|
|
|
color11 #${palette.base0A}
|
|
|
|
color12 #${palette.base0C}
|
|
|
|
color13 #${palette.base0E}
|
|
|
|
color14 #${palette.base0C}
|
|
|
|
color15 #${palette.base07}
|
|
|
|
color16 #${palette.base00}
|
|
|
|
color17 #${palette.base0F}
|
|
|
|
color18 #${palette.base0B}
|
|
|
|
color19 #${palette.base09}
|
|
|
|
color20 #${palette.base0D}
|
|
|
|
color21 #${palette.base0E}
|
|
|
|
color22 #${palette.base0C}
|
|
|
|
color23 #${palette.base06}
|
|
|
|
cursor #${palette.base07}
|
|
|
|
cursor_text_color #${palette.base00}
|
|
|
|
selection_foreground #${palette.base01}
|
|
|
|
selection_background #${palette.base0D}
|
|
|
|
url_color #${palette.base0C}
|
|
|
|
active_border_color #${palette.base04}
|
|
|
|
inactive_border_color #${palette.base00}
|
|
|
|
bell_border_color #${palette.base03}
|
|
|
|
tab_bar_style fade
|
|
|
|
tab_fade 1
|
|
|
|
active_tab_foreground #${palette.base04}
|
|
|
|
active_tab_background #${palette.base00}
|
|
|
|
active_tab_font_style bold
|
|
|
|
inactive_tab_foreground #${palette.base07}
|
|
|
|
inactive_tab_background #${palette.base08}
|
|
|
|
inactive_tab_font_style bold
|
|
|
|
tab_bar_background #${palette.base00}
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
starship = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.starship;
|
|
|
|
};
|
2024-05-17 09:58:47 +02:00
|
|
|
wofi = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
allow_images = true;
|
2024-05-17 10:32:17 +02:00
|
|
|
prompt = "Run Programs...";
|
2024-05-17 09:58:47 +02:00
|
|
|
width = "25%";
|
|
|
|
hide_scroll = true;
|
|
|
|
term = "kitty";
|
|
|
|
show = "drun";
|
|
|
|
};
|
|
|
|
style = ''
|
|
|
|
* {
|
|
|
|
font-family: JetBrainsMono Nerd Font Mono,monospace;
|
|
|
|
font-weight: bold;
|
|
|
|
}
|
|
|
|
#window {
|
2024-05-17 11:06:51 +02:00
|
|
|
border-radius: 25px;
|
|
|
|
border: 2px solid #${palette.base08};
|
2024-05-17 09:58:47 +02:00
|
|
|
background: #${palette.base00};
|
|
|
|
}
|
|
|
|
#input {
|
2024-05-17 11:06:51 +02:00
|
|
|
border-radius: 10px;
|
2024-05-17 10:32:17 +02:00
|
|
|
border: 2px solid #${palette.base0B};
|
2024-05-17 09:58:47 +02:00
|
|
|
margin: 20px;
|
|
|
|
padding: 15px 25px;
|
|
|
|
background: #${palette.base00};
|
|
|
|
color: #${palette.base05};
|
|
|
|
}
|
2024-05-17 11:06:51 +02:00
|
|
|
#inner-box {
|
|
|
|
border: none;
|
|
|
|
background-color: transparent;
|
|
|
|
}
|
2024-05-17 09:58:47 +02:00
|
|
|
#outer-box {
|
2024-05-17 11:06:51 +02:00
|
|
|
border: none;
|
2024-05-17 09:58:47 +02:00
|
|
|
font-weight: bold;
|
|
|
|
font-size: 14px;
|
|
|
|
}
|
2024-05-17 11:06:51 +02:00
|
|
|
#text {
|
|
|
|
border: none;
|
|
|
|
}
|
2024-05-17 09:58:47 +02:00
|
|
|
#entry {
|
|
|
|
margin: 10px 80px;
|
|
|
|
padding: 20px 20px;
|
2024-05-17 11:06:51 +02:00
|
|
|
border-radius: 10px;
|
|
|
|
border: none;
|
2024-05-17 09:58:47 +02:00
|
|
|
}
|
2024-05-17 11:06:51 +02:00
|
|
|
#entry:focus {
|
|
|
|
border: none;
|
2024-05-17 09:58:47 +02:00
|
|
|
}
|
|
|
|
#entry:hover {
|
2024-05-17 11:06:51 +02:00
|
|
|
border: none;
|
|
|
|
}
|
|
|
|
#entry:selected {
|
|
|
|
background-color: #${palette.base0F};
|
|
|
|
color: #${palette.base00};
|
2024-05-17 09:58:47 +02:00
|
|
|
}
|
|
|
|
'';
|
|
|
|
};
|
2024-05-14 20:04:27 +02:00
|
|
|
bash = {
|
|
|
|
enable = true;
|
|
|
|
enableCompletion = true;
|
|
|
|
profileExtra = ''
|
|
|
|
#if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
|
|
|
|
# exec Hyprland
|
|
|
|
#fi
|
|
|
|
'';
|
|
|
|
initExtra = ''
|
|
|
|
neofetch
|
|
|
|
if [ -f $HOME/.bashrc-personal ]; then
|
|
|
|
source $HOME/.bashrc-personal
|
|
|
|
fi
|
|
|
|
'';
|
|
|
|
sessionVariables = {
|
|
|
|
ZANEYOS = true;
|
|
|
|
};
|
|
|
|
shellAliases = {
|
|
|
|
sv = "sudo nvim";
|
2024-05-14 20:34:02 +02:00
|
|
|
flake-rebuild = "nh os switch --hostname ${host} /home/${username}/zaneyos";
|
2024-05-14 20:04:27 +02:00
|
|
|
flake-update = "nh os switch --hostname ${host} --update";
|
|
|
|
gcCleanup = "nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot";
|
|
|
|
v = "nvim";
|
|
|
|
ls = "lsd";
|
|
|
|
ll = "lsd -l";
|
|
|
|
la = "lsd -a";
|
|
|
|
lal = "lsd -al";
|
|
|
|
".." = "cd ..";
|
|
|
|
};
|
2024-05-14 09:42:14 +02:00
|
|
|
};
|
2024-05-14 20:04:27 +02:00
|
|
|
home-manager.enable = true;
|
|
|
|
hyprlock = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
general = {
|
|
|
|
disable_loading_bar = true;
|
|
|
|
grace = 300;
|
|
|
|
hide_cursor = true;
|
|
|
|
no_fade_in = false;
|
|
|
|
};
|
|
|
|
background = [
|
|
|
|
{
|
|
|
|
path = "/home/${username}/.config/wallpapers/zaney-wallpaper.jpg";
|
|
|
|
blur_passes = 3;
|
|
|
|
blur_size = 8;
|
|
|
|
}
|
|
|
|
];
|
|
|
|
input-field = [
|
|
|
|
{
|
|
|
|
size = "200, 50";
|
|
|
|
position = "0, -80";
|
|
|
|
monitor = "";
|
|
|
|
dots_center = true;
|
|
|
|
fade_on_empty = false;
|
|
|
|
font_color = "rgb(202, 211, 245)";
|
|
|
|
inner_color = "rgb(91, 96, 120)";
|
|
|
|
outer_color = "rgb(24, 25, 38)";
|
|
|
|
outline_thickness = 5;
|
|
|
|
placeholder_text = "Password...";
|
|
|
|
shadow_passes = 2;
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
2024-05-14 09:42:14 +02:00
|
|
|
};
|
|
|
|
};
|
2024-01-09 23:50:24 +01:00
|
|
|
}
|