This commit is contained in:
Hadi
2024-03-11 19:36:05 +01:00
commit dc9c7c8461
48 changed files with 1952 additions and 0 deletions

76
home/dunst/default.nix Normal file
View File

@@ -0,0 +1,76 @@
{ config, lib, pkgs, ... }:
{
services.dunst = {
enable = true;
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
settings = {
global = {
rounded = "yes";
origin = "top-right";
monitor = "0";
alignment = "left";
vertical_alignment = "center";
width = "400";
height = "400";
scale = 0;
gap_size = 0;
progress_bar = true;
transparency = 0;
text_icon_padding = 0;
separator_color = "frame";
sort = "yes";
idle_threshold = 120;
line_height = 0;
markup = "full";
show_age_threshold = 60;
ellipsize = "middle";
ignore_newline = "no";
stack_duplicates = true;
sticky_history = "yes";
history_length = 20;
always_run_script = true;
corner_radius = 10;
follow = "mouse";
font = "Source Sans Pro 10";
format = "<b>%s</b>\\n%b"; #format = "<span foreground='#f3f4f5'><b>%s %p</b></span>\n%b"
frame_color = "#232323";
frame_width = 1;
offset = "15x15";
horizontal_padding = 10;
icon_position = "left";
indicate_hidden = "yes";
min_icon_size = 0;
max_icon_size = 64;
mouse_left_click = "do_action, close_current";
mouse_middle_click = "close_current";
mouse_right_click = "close_all";
padding = 10;
plain_text = "no";
separator_height = 2;
show_indicators = "yes";
shrink = "no";
word_wrap = "yes";
browser = "/usr/bin/env librewolf -new-tab";
};
fullscreen_delay_everything = {fullscreen = "delay";};
urgency_critical = {
background = "#d64e4e";
foreground = "#f0e0e0";
};
urgency_low = {
background = "#232323";
foreground = "#2596be";
};
urgency_normal = {
background = "#1e1e2a";
foreground = "#2596be";
};
};
};
}

12
home/git/default.nix Normal file
View File

@@ -0,0 +1,12 @@
{
programs.git = {
enable = true;
userName = "Hadi";
userEmail = "112569860+anotherhadi@users.noreply.github.com";
extraConfig = {
init.defaultBranch = "main";
# Automatically track remote branch
push.autoSetupRemote = true;
};
};
}

25
home/home.nix Normal file
View File

@@ -0,0 +1,25 @@
{ config, pkgs, ...}: {
home.username = "hadi";
home.homeDirectory = "/home/hadi";
home.packages = with pkgs; [
vscode
];
home.stateVersion = "23.11";
programs.home-manager.enable = true;
imports = [
./hyprland
./nvim
./waybar
./kitty
./dunst
./wlogout
./wofi
./qutebrowser
./git
./shell
./misc
];
}

96
home/hyprland/default.nix Normal file
View File

@@ -0,0 +1,96 @@
{pkgs, ...}:{
home.packages = with pkgs; [
xdg-desktop-portal-hyprland
wlr-randr
swww
wl-clipboard
brightnessctl
gnome.gnome-themes-extra
adwaita-qt
adwaita-qt6
gnome.adwaita-icon-theme
wlsunset
xwayland
xdg-desktop-portal-gtk
wlroots
wayland-utils
wayland-protocols
meson
];
wayland.windowManager.hyprland = {
enable = true;
xwayland.enable = true;
settings = {
"$mod" = "SUPER";
"$menu" = "~/scripts/menu.sh";
"$powermenu" = "${pkgs.wlogout}/bin/wlogout";
monitor = [
"eDP-2,highres,0x0,1"
"desc:AOC U34G2G1 0x00000E06,highrr,2560x0,1"
",prefered,auto,1"
];
bind = [
"$mod, RETURN, exec, kitty"
"$mod, Q, killactive,"
"$mod, E, exec, thunar"
"$mod, T, togglefloating,"
"$mod, F, fullscreen"
"$mod, B, exec, firefox"
"$mod, C, exec, kitty --class floating peaclock"
"$mod, L, exec, hyprlock"
"$mod, SPACE, exec, $menu"
"$mod, X, exec, $powermenu"
]++ (
builtins.concatLists (builtins.genList (i:
let ws = i + 1;
in [
"$mod, code:1${toString i}, workspace, ${toString ws}"
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
]) 9));
env = [
"XCURSOR_SIZE,24"
"LIBVA_DRIVER_NAME,nvidia"
"XDG_SESSION_TYPE,wayland"
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
"WLR_NO_HARDWARE_CURSORS,1"
"QT_QPA_PLATFORMTHEME,qt5ct"
"SWWW_TRANSITION,wipe"
"XDG_CURRENT_DESKTOP,Hyprland"
"XDG_SESSION_TYPE,wayland"
"XDG_SESSION_DESKTOP,Hyprland"
"QT_AUTO_SCREEN_SCALE_FACTOR,1"
"QT_QPA_PLATFORM=wayland,xcb"
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
"T_QPA_PLATFORMTHEME,qt5ct"
"WLR_DRM_DEVICES,/dev/dri/card0:/dev/dri/card1"
"GTK_THEME,Adwaita:dark"
"GTK2_RC_FILES,/usr/share/themes/Adwaita-dark/gtk-2.0/gtkrc"
"QT_STYLE_OVERRIDE,Adwaita-Dark"
];
input = {
kb_layout="fr";
kb_options = "caps:escape";
follow_mouse = 1;
sensitivity = 0.5;
repeat_delay = 300;
repeat_rate = 50;
numlock_by_default=true;
touchpad ={
natural_scroll = true;
clickfinger_behavior= true;
};
};
};
};
}

67
home/kitty/default.nix Normal file
View File

@@ -0,0 +1,67 @@
{
programs.kitty = {
enable = true;
settings = {
scrollback_lines = 10000;
enable_audio_bell = false;
update_check_interval = 0;
font_family = "FiraCode Nerd Font";
font_size = 13;
cursor_shape = "Underline";
cursor_underline_thickness = 1;
window_padding_width = 10;
url_style = "curly";
confirm_os_window_close = "0";
remember_window_size = "no";
disable_ligatures = "never";
shell = "zsh";
initial_window_width = 1000;
initial_window_height = 600;
# Special
background = "#090914";
url_color = "#9978F8";
# Black
color0 = "#414868";
color8 = "#515878";
# Red
color1 = "#f7768e";
color9 = "#f7869e";
# Green
color2 = "#73daca";
color10 = "#83eada";
# Yellow
color3 = "#e0af68";
color11 = "#f0bf78";
# Blue
color4 = "#7aa2f7";
color12 = "#8ab2f7";
# Magenta
color5 = "#9978F8";
color13 = "#A988F8";
# Cyan
color6 = "#7dcfff";
color14 = "#8ddfff";
# White
color7 = "#E4E5E7";
color15 = "#f4f5f7";
# Cursor
cursor = "#FBFBFB";
cursor_text_color = "#090914";
# Selection highlight
selection_foreground = "#9978F8";
selection_background = "#28344a";
};
};
}

14
home/misc/default.nix Normal file
View File

@@ -0,0 +1,14 @@
{
home.file = {
".ssh/config" = {
text = ''
Host github.com
User git
Hostname github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github
'';
executable = false;
};
};
}

1
home/nvim/auto-pairs.nix Normal file
View File

@@ -0,0 +1 @@
{ programs.nixvim.plugins.nvim-autopairs = { enable = true; }; }

1
home/nvim/bufferline.nix Normal file
View File

@@ -0,0 +1 @@
{ programs.nixvim.plugins.bufferline = { enable = true; }; }

112
home/nvim/cmp.nix Normal file
View File

@@ -0,0 +1,112 @@
{
programs.nixvim.plugins = {
luasnip.enable = true;
cmp-buffer = { enable = true; };
cmp-emoji = { enable = true; };
cmp-nvim-lsp = { enable = true; };
cmp-path = { enable = true; };
cmp_luasnip = { enable = true; };
cmp = {
enable = true;
settings = {
snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end";
sources = [
{ name = "nvim_lsp"; }
{ name = "luasnip"; }
{ name = "buffer"; }
{ name = "nvim_lua"; }
{ name = "path"; }
];
formatting = {
fields = [ "abbr" "kind" "menu" ];
format =
# lua
''
function(_, item)
local icons = {
Namespace = "󰌗",
Text = "󰉿",
Method = "󰆧",
Function = "󰆧",
Constructor = "",
Field = "󰜢",
Variable = "󰀫",
Class = "󰠱",
Interface = "",
Module = "",
Property = "󰜢",
Unit = "󰑭",
Value = "󰎠",
Enum = "",
Keyword = "󰌋",
Snippet = "",
Color = "󰏘",
File = "󰈚",
Reference = "󰈇",
Folder = "󰉋",
EnumMember = "",
Constant = "󰏿",
Struct = "󰙅",
Event = "",
Operator = "󰆕",
TypeParameter = "󰊄",
Table = "",
Object = "󰅩",
Tag = "",
Array = "[]",
Boolean = "",
Number = "",
Null = "󰟢",
String = "󰉿",
Calendar = "",
Watch = "󰥔",
Package = "",
Copilot = "",
Codeium = "",
TabNine = "",
}
local icon = icons[item.kind] or ""
item.kind = string.format("%s %s", icon, item.kind or "")
return item
end
'';
};
window = {
completion = {
winhighlight =
"FloatBorder:CmpBorder,Normal:CmpPmenu,CursorLine:CmpSel,Search:PmenuSel";
scrollbar = false;
sidePadding = 0;
border = [ "" "" "" "" "" "" "" "" ];
};
documentation = {
border = [ "" "" "" "" "" "" "" "" ];
winhighlight =
"FloatBorder:CmpBorder,Normal:CmpPmenu,CursorLine:CmpSel,Search:PmenuSel";
};
};
mapping = {
"<C-n>" = "cmp.mapping.select_next_item()";
"<C-p>" = "cmp.mapping.select_prev_item()";
"<Down>" = "cmp.mapping.select_next_item()";
"<Up>" = "cmp.mapping.select_prev_item()";
"<C-j>" = "cmp.mapping.select_next_item()";
"<C-k>" = "cmp.mapping.select_prev_item()";
"<C-d>" = "cmp.mapping.scroll_docs(-4)";
"<C-f>" = "cmp.mapping.scroll_docs(4)";
"<C-Space>" = "cmp.mapping.complete()";
"<C-e>" = "cmp.mapping.close()";
"<CR>" =
"cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Insert, select = true })";
};
};
};
};
}

51
home/nvim/default.nix Normal file
View File

@@ -0,0 +1,51 @@
{ pkgs, inputs, ... }:
{
imports = [
inputs.nixvim.homeManagerModules.nixvim
./auto-pairs.nix
./options.nix
./bufferline.nix
./telescope.nix
./nvim-tree.nix
./lightline.nix
./git.nix
./cmp.nix
./none-ls.nix
./wilder.nix
./lsp.nix
./treesitter.nix
./toggleterm.nix
];
programs.nixvim = {
enable = true;
colorschemes.catppuccin.enable = true;
keymaps = [
# Global Mappings
# Default mode is "" which means normal-visual-op
{
# Toggle NvimTree
key = "<leader>e";
action = "<CMD>Neotree toggle<CR>";
}
{
# Format file
key = "<space>fm";
action = "<CMD>lua vim.lsp.buf.format()<CR>";
}
# Terminal Mappings
{
# Escape terminal mode using ESC
mode = "t";
key = "<esc>";
action = "<C-\\><C-n>";
}
];
};
}

6
home/nvim/git.nix Normal file
View File

@@ -0,0 +1,6 @@
{
programs.nixvim.plugins.gitsigns = {
enable = true;
currentLineBlame = true;
};
}

1
home/nvim/lightline.nix Normal file
View File

@@ -0,0 +1 @@
{ programs.nixvim.plugins.lualine = { enable = true; }; }

18
home/nvim/lsp.nix Normal file
View File

@@ -0,0 +1,18 @@
{
programs.nixvim.plugins.lsp = {
enable = true;
servers = {
bashls.enable = true;
clangd.enable = true;
gopls.enable = true;
nixd.enable = true;
};
keymaps.lspBuf = {
"gd" = "definition";
"gD" = "references";
"gt" = "type_definition";
"gi" = "implementation";
"K" = "hover";
};
};
}

18
home/nvim/none-ls.nix Normal file
View File

@@ -0,0 +1,18 @@
{
programs.nixvim.plugins.none-ls = {
enable = true;
sources = {
diagnostics = {
golangci_lint.enable = true;
statix.enable = true;
};
formatting = {
fantomas.enable = true;
gofmt.enable = true;
goimports.enable = true;
nixfmt.enable = true;
markdownlint.enable = true;
};
};
};
}

5
home/nvim/nvim-tree.nix Normal file
View File

@@ -0,0 +1,5 @@
{
programs.nixvim.plugins.neo-tree = {
enable = true;
};
}

25
home/nvim/options.nix Normal file
View File

@@ -0,0 +1,25 @@
{
programs.nixvim.globals.mapleader = " ";
programs.nixvim.options = {
updatetime = 100; # Faster completion
number = true;
relativenumber = true;
autoindent = true;
clipboard = "unnamedplus";
expandtab = true;
shiftwidth = 2;
smartindent = true;
tabstop = 2;
ignorecase = true;
incsearch = true;
smartcase = true;
wildmode = "list:longest";
swapfile = false;
undofile = true; # Build-in persistent undo
};
}

13
home/nvim/telescope.nix Normal file
View File

@@ -0,0 +1,13 @@
{
programs.nixvim.plugins.telescope = {
enable = true;
keymaps = {
"<leader>fg" = "live_grep";
"<C-p>" = {
action = "git_files";
desc = "Telescope Git Files";
};
};
extensions.fzf-native = { enable = true; };
};
}

7
home/nvim/toggleterm.nix Normal file
View File

@@ -0,0 +1,7 @@
{
programs.nixvim.plugins.toggleterm = {
enable = true;
openMapping = "<C-t>";
direction = "horizontal";
};
}

11
home/nvim/treesitter.nix Normal file
View File

@@ -0,0 +1,11 @@
{
programs.nixvim.plugins = {
treesitter = {
enable = true;
nixGrammars = true;
indent = true;
};
treesitter-context.enable = true;
rainbow-delimiters.enable = true;
};
}

6
home/nvim/wilder.nix Normal file
View File

@@ -0,0 +1,6 @@
{
programs.nixvim.plugins.wilder = {
enable = true;
modes = [ ":" "/" "?" ];
};
}

View File

@@ -0,0 +1,269 @@
{
programs.qutebrowser = {
enable = true;
searchEngines = {
"DEFAULT" = "https://google.com/search?q={}";
"yt" = "https://youtube.com/results?search_query={}";
"nixo" = "https://search.nixos.org/options?channel=unstable&query={}";
"nixp" = "https://search.nixos.org/packages?channel=unstable&query={}";
};
settings = {
colors = {
tabs = {
odd.bg = "#000000";
odd.fg = "#FFFFFF";
even.bg = "#000000";
even.fg = "#FFFFFF";
selected.odd.bg = "#101012";
selected.odd.fg = "#FFFFFF";
selected.even.bg = "#101012";
selected.even.fg = "#FFFFFF";
indicator.error = "#101012";
indicator.start = "#101012";
indicator.stop = "#101012";
};
hints = {
bg = "#101012";
fg = "#FFFFFF";
match.fg = "#E2E2E2";
};
completion = {
category.bg = "#101012";
category.fg = "#FFFFFF";
category.border.top = "#101012";
category.border.bottom = "#101012";
odd.bg = "#101012";
even.bg = "#101012";
fg = [ "#FFFFFF" "#FFFFFF" "#FFFFFF" ];
match.fg = "#FF0000";
item.selected.bg = "#FF0000";
item.selected.border.top = "#FF0000";
item.selected.border.bottom = "#FF0000";
item.selected.fg = "#FBFBFB";
item.selected.match.fg = "#FBFBFB";
};
# statusbar = {
# normal.bg = colors.statusbar.bg;
# normal.fg = colors.statusbar.fg;
# private.bg = colors.statusbar.private.bg;
# private.fg = colors.statusbar.private.fg;
# command = {
# bg = colors.statusbar.bg;
# fg = colors.statusbar.fg;
# private.bg = colors.statusbar.private.bg;
# private.fg = colors.statusbar.private.fg;
# };
# };
#
# messages = {
# info = {
# bg = colors.statusbar.bg;
# fg = colors.statusbar.fg;
# border = colors.statusbar.bg;
# };
#
# error = {
# bg = colors.messages.error.bg;
# fg = colors.messages.error.fg;
# border = colors.messages.error.bg;
# };
# };
};
completion = {
height = "30%";
open_categories = [ "history" ];
scrollbar = {
padding = 0;
width = 0;
};
show = "always";
shrink = true;
timestamp_format = "";
web_history.max_items = 7;
};
content = {
autoplay = false;
javascript.clipboard = "access";
pdfjs = true;
};
downloads = {
position = "bottom";
remove_finished = 0;
};
fileselect = {
handler = "external";
multiple_files.command = [
"alacritty"
"--embed"
"$(xdotool getactivewindow)"
"-e"
"lf"
"-selection-path"
"{}"
];
single_file.command = [
"alacritty"
"--embed"
"$(xdotool getactivewindow)"
"-e"
"lf"
"-selection-path"
"{}"
];
};
hints = {
border = "none";
radius = 1;
};
scrolling = {
bar = "never";
smooth = true;
};
statusbar = {
show = "never";
widgets = [ ];
};
tabs = {
show = "multiple";
last_close = "close";
mode_on_change = "restore";
close_mouse_button = "right";
};
url = {
default_page = "https://duckduckgo.com";
start_pages = [ "https://duckduckgo.com" ];
};
zoom.default = "130%";
};
keyMappings = {
"<Super-l>" = "o";
"<Super-t>" = "O";
};
keyBindings = {
normal = {
",p" = "tab-move -";
",n" = "tab-move +";
"<Super-r>" = "config-source";
"<Super-c>" = "fake-key <Ctrl-c>";
"<Super-Up>" = "scroll-to-perc 0";
"<Super-Down>" = "scroll-to-perc";
"<Super-Left>" = "back";
"<Super-Right>" = "forward";
"<Super-n>" = "open -w";
"<Super-Shift-p>" = "open -p";
"<Super-w>" = "tab-close";
"<Super-1>" = "tab-focus 1";
"<Super-2>" = "tab-focus 2";
"<Super-3>" = "tab-focus 3";
"<Super-4>" = "tab-focus 4";
"<Super-5>" = "tab-focus 5";
"<Super-6>" = "tab-focus 6";
"<Super-7>" = "tab-focus 7";
"<Super-8>" = "tab-focus 8";
"<Super-9>" = "tab-focus 9";
"<Super-0>" = "tab-focus 10";
"gtb" = "open https://github.com/noib3";
"ttb" = "open -t https://github.com/noib3";
"gma" = "open https://mail.protonmail.com/inbox";
"tma" = "open -t https://mail.protonmail.com/inbox";
"gkp" = "open https://keep.google.com";
"tkp" = "open -t https://keep.google.com";
"grhm" =
"open https://github.com/nix-community/home-manager/find/master";
"trhm" =
"open -t https://github.com/nix-community/home-manager/find/master";
"gnv" = "open https://github.com/neovim/neovim/tree/master/src/nvim";
"tnv" = "open -t https://github.com/neovim/neovim/tree/master/src/nvim";
"gbg" = "open https://rarbgunblocked.org/torrents.php";
"tbg" = "open -t https://rarbgunblocked.org/torrents.php";
"g12ft" = "open https://12ft.io/";
"t12ft" = "open -t https://12ft.io/";
"gtra" = "open http://localhost:9091/transmission/web/";
"ttra" = "open -t http://localhost:9091/transmission/web/";
};
command = {
"<Super-w>" = "tab-close";
"<Super-c>" = "completion-item-yank";
"<Super-v>" = "fake-key --global <Ctrl-v>";
"<Super-Left>" = "rl-beginning-of-line";
"<Super-Right>" = "rl-end-of-line";
"<Alt-Backspace>" = "rl-backward-kill-word";
"<Super-Backspace>" = "rl-unix-line-discard";
};
insert = {
"<Super-w>" = "tab-close";
"<Super-c>" = "fake-key <Ctrl-c>";
"<Super-v>" = "fake-key <Ctrl-v>";
"<Super-x>" = "fake-key <Ctrl-x>";
"<Super-z>" = "fake-key <Ctrl-z>";
"<Super-Left>" = "fake-key <Home>";
"<Super-Right>" = "fake-key <End>";
"<Alt-Backspace>" = "fake-key <Ctrl-Backspace>";
"<Super-Backspace>" = "fake-key <Shift-Home><Delete>";
"<Super-1>" = "tab-focus 1";
"<Super-2>" = "tab-focus 2";
"<Super-3>" = "tab-focus 3";
"<Super-4>" = "tab-focus 4";
"<Super-5>" = "tab-focus 5";
"<Super-6>" = "tab-focus 6";
"<Super-7>" = "tab-focus 7";
"<Super-8>" = "tab-focus 8";
"<Super-9>" = "tab-focus 9";
"<Super-0>" = "tab-focus 10";
};
};
extraConfig = ''
config.unbind("gm")
config.unbind("gd")
config.unbind("gb")
config.unbind("tl")
config.unbind("gt")
c.tabs.padding = {"bottom": 0, "left": 7, "right": 7, "top": 0}
config.load_autoconfig(True)
'';
};
}

8
home/shell/default.nix Normal file
View File

@@ -0,0 +1,8 @@
{
imports = [
./fzf.nix
./zsh.nix
./starship.nix
./zoxide.nix
];
}

6
home/shell/fzf.nix Normal file
View File

@@ -0,0 +1,6 @@
{
programs.fzf = {
enable = true;
enableZshIntegration = true;
};
}

5
home/shell/starship.nix Normal file
View File

@@ -0,0 +1,5 @@
{
programs.starship = {
enable = true;
};
}

6
home/shell/zoxide.nix Normal file
View File

@@ -0,0 +1,6 @@
{
programs.zoxide = {
enable= true;
enableZshIntegration = true;
};
}

35
home/shell/zsh.nix Normal file
View File

@@ -0,0 +1,35 @@
{ pkgs, lib, config, ... }: {
home.packages = with pkgs; [ eza bat ripgrep tldr ];
programs.zsh = {
enable = true;
enableAutosuggestions = true;
enableCompletion = true;
syntaxHighlighting.enable = true;
history = {
ignoreDups = true;
save = 1000000;
size = 1000000;
};
profileExtra = lib.optionalString (config.home.sessionPath != [ ]) ''
export PATH="$PATH''${PATH:+:}${lib.concatStringsSep ":" config.home.sessionPath}"
'';
shellAliases = {
vim = "nvim";
v = "nvim";
c = "clear";
clera = "clear";
celar = "clear";
e = "exit";
cd = "z";
ls = "eza --icons";
open = "xdg-open";
icat = "kitty +kitten icat";
};
};
}

244
home/waybar/default.nix Normal file
View File

@@ -0,0 +1,244 @@
{
services = {
blueman-applet.enable = true;
network-manager-applet.enable = true;
};
programs.waybar = {
enable = true;
systemd.enable = true;
settings = {
mainBar = {
layer = "top";
position = "top";
spacing = 0;
"margin-top" = 15;
"margin-left" = 15;
"margin-right" = 15;
height = 40;
modules-left = [ "custom/logo" "hyprland/window" ];
modules-center = [ "hyprland/workspaces" ];
modules-right =
[ "tray" "backlight" "pulseaudio" "battery" "clock" "custom/power" ];
"wlr/taskbar" = {
format = "{icon}";
"on-click" = "activate";
"on-click-right" = "fullscreen";
"icon-theme" = "WhiteSur";
"icon-size" = 25;
"tooltip-format" = "{title}";
};
"hyprland/workspaces" = {
"on-click" = "activate";
format = "{icon}";
"format-icons" = {
"default" = "";
"1" = "1";
"2" = "2";
"3" = "3";
"4" = "4";
"5" = "5";
"6" = "6";
"7" = "7";
"8" = "8";
"9" = "9";
"active" = "󱓻";
"urgent" = "󱓻";
};
"persistent_workspaces" = {
"1" = [ ];
"2" = [ ];
"3" = [ ];
"4" = [ ];
"5" = [ ];
};
};
tray = { spacing = 16; };
clock = {
"tooltip-format" = "<tt>{calendar}</tt>";
"format-alt" = " {:%a, %d %b %Y}";
format = "󰥔 {:%I:%M %p}";
};
pulseaudio = {
format = "{icon}";
"format-bluetooth" = "󰂰";
nospacing = 1;
"tooltip-format" = "Volume : {volume}%";
"format-muted" = "󰝟";
"format-icons" = {
"headphone" = "";
"default" = [ "󰖀" "󰕾" "" ];
};
"on-click" = "pamixer -t";
"scroll-step" = 1;
};
"custom/logo" = {
format = " ";
tooltip = false;
"on-click" = "~/scripts/menu.sh";
};
battery = {
format = "{capacity}% {icon}";
"format-icons" = {
"charging" = [ "󰢜" "󰂆" "󰂇" "󰂈" "󰢝" "󰂉" "󰢞" "󰂊" "󰂋" "󰂅" ];
"default" = [ "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹" ];
};
"format-full" = "󰁹 ";
interval = 10;
states = {
warning = 20;
critical = 10;
};
tooltip = false;
};
"custom/power" = {
format = "󰤆";
tooltip = false;
"on-click" = "wlogout";
};
backlight = {
device = "nvidia_0";
format = "{icon}";
"format-icons" = [ " " " " "" "" "" "" "" "" "" ];
};
};
};
style = ''
* {
border: none;
border-radius: 0;
min-height: 0;
font-family: "SFProDisplay Nerd Font Bold";
}
window#waybar {
background-color: #090914;
transition-property: background-color;
transition-duration: 0.5s;
border-radius: 15px;
font-size: 13px;
}
window#waybar.hidden {
opacity: 0.5;
}
#workspaces {
background-color: transparent;
}
#workspaces button {
all: initial; /* Remove GTK theme values (waybar #1351) */
min-width: 0; /* Fix weird spacing in materia (waybar #450) */
box-shadow: inset 0 -3px transparent; /* Use box-shadow instead of border so the text isn't offset */
padding: 6px 18px;
margin: 6px 3px;
border-radius: 4px;
background-color: #1e1e2e;
color: #cdd6f4;
}
#workspaces button.active {
color: #1e1e2e;
background-color: #cdd6f4;
}
#workspaces button:hover {
box-shadow: inherit;
text-shadow: inherit;
color: #1e1e2e;
background-color: #cdd6f4;
}
#workspaces button.urgent {
background-color: #f38ba8;
}
#memory,
#custom-power,
#battery,
#backlight,
#pulseaudio,
#network,
#clock,
#tray,
#backlight{
border-radius: 9px;
margin: 6px 3px;
padding: 6px 12px;
background-color: #1e1e2e;
color: #FBFBFB;
}
#tray menu {
background-color: #1e1e2e;
color: #FBFBFB;
}
#custom-power {
margin-right: 6px;
}
#custom-logo {
padding-right: 7px;
padding-left: 7px;
margin-left: 5px;
font-size: 15px;
border-radius: 8px 0px 0px 8px;
color: #9978F8;
}
@keyframes blink {
to {
background-color: #f38ba8;
color: #181825;
}
}
#battery.warning,
#battery.critical,
#battery.urgent {
background-color: #ff0048;
color: #181825;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#battery.charging {
background-color: #1E1E2E;
color: #FBFBFB;
animation: none;
}
#custom-power {
background-color: #9978F8;
color: #0C0C0C;
margin-right: 7px;
}
tooltip {
border-radius: 8px;
padding: 15px;
background-color: #1E1E2E;
}
tooltip label {
padding: 5px;
background-color: #1E1E2E;
}
'';
};
}

125
home/wlogout/default.nix Normal file
View File

@@ -0,0 +1,125 @@
{
programs.wlogout = {
enable = true;
layout = [
{
label = "lock";
action = "sleep 1; hyprlock";
text = "Lock";
keybind = "l";
}
{
label = "hibernate";
action = "sleep 1; systemctl hibernate";
text = "Hibernate";
keybind = "h";
}
{
label = "logout";
action = "sleep 1; killall -9 Hyprland sleep 2";
text = "Exit";
keybind = "e";
}
{
label = "shutdown";
action = "sleep 1; systemctl poweroff";
text = "Shutdown";
keybind = "s";
}
{
label = "suspend";
action = "sleep 1; systemctl suspend";
text = "Suspend";
keybind = "u";
}
{
label = "reboot";
action = "sleep 1; systemctl reboot";
text = "Reboot";
keybind = "r";
}
];
style = ''
* {
font-family: "Fira Sans Semibold";
background-image: none;
transition: 20ms;
}
window {
background-color: rgba(12, 12, 12, 0.5);
}
button {
color: #FFFFFF;
font-size:20px;
background-repeat: no-repeat;
background-position: center;
background-size: 25%;
border-style: solid;
background-color: rgba(12, 12, 12, 0.5);
border: 3px solid #FFFFFF;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
button:focus,
button:active,
button:hover {
color: #9978F8;
background-color: rgba(12, 12, 12, 0.8);
border: 3px solid #9978F8;
}
/*
-----------------------------------------------------
Buttons
-----------------------------------------------------
*/
#lock {
margin: 10px;
border-radius: 20px;
background-image: image(url("icons/lock.png"));
}
#logout {
margin: 10px;
border-radius: 20px;
background-image: image(url("icons/logout.png"));
}
#suspend {
margin: 10px;
border-radius: 20px;
background-image: image(url("icons/suspend.png"));
}
#hibernate {
margin: 10px;
border-radius: 20px;
background-image: image(url("icons/hibernate.png"));
}
#shutdown {
margin: 10px;
border-radius: 20px;
background-image: image(url("icons/shutdown.png"));
}
#reboot {
margin: 10px;
border-radius: 20px;
background-image: image(url("icons/reboot.png"));
}
'';
};
xdg.configFile."wlogout/icons" = {
recursive = false;
source = ./icons;
};
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
home/wlogout/icons/lock.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

95
home/wofi/default.nix Normal file
View File

@@ -0,0 +1,95 @@
{
programs.wofi = {
enable = true;
settings = {
allow_markup = true;
width = 250;
show = "drun";
prompt = "Apps";
normal_window = true;
layer = "top";
term = "foot";
height = "305px";
orientation = "vertical";
halign = "fill";
line_wrap = "off";
dynamic_lines = false;
allow_images = true;
image_size = 24;
exec_search = false;
hide_search = false;
parse_search = false;
insensitive = true;
hide_scroll = true;
no_actions = true;
sort_order = "default";
gtk_dark = true;
filter_rate = 100;
key_expand = "Tab";
key_exit = "Escape";
};
style = ''
/** ********** Fonts ********** **/
* {
font-family: "SFProDisplay Nerd Font Bold", archcraft, sans-serif;
font-size: 12px;
}
#window {
background-color: #0B0B13;
color: #D9E0EE;
border: 2px solid #1B1B23;
border-radius: 0px;
}
#outer-box {
padding: 20px;
}
#input {
background-color: #1B1B23;
border: 0px solid #B4BEFE;
padding: 8px 12px;
}
#scroll {
margin-top: 20px;
}
#inner-box {}
#img {
padding-right: 8px;
}
#text {
color: #D9E0EE;
}
#text:selected {
color: #0B0B13;
}
#entry {
padding: 6px;
}
#entry:selected {
background-color: #B4BEFE;
color: #0B0B13;
}
#unselected {}
#selected {}
#input,
#entry:selected {
border-radius: 4px;
}
'';
};
}