wip
This commit is contained in:
parent
308bdbebf9
commit
badcf3aa40
43 changed files with 1972 additions and 253 deletions
|
|
@ -13,7 +13,8 @@
|
|||
};
|
||||
font = {
|
||||
normal = {
|
||||
family = lib.mkForce "Monaspace Krypton";
|
||||
# family = lib.mkForce "Monaspace Krypton";
|
||||
family = lib.mkForce "Comic Code";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./alacritty.nix
|
||||
./fuzzel.nix
|
||||
./kitty.nix
|
||||
];
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
|
|
@ -11,7 +13,7 @@
|
|||
|
||||
home.packages = with pkgs; [
|
||||
# fonts
|
||||
nerdfonts
|
||||
nerd-fonts.monaspace
|
||||
noto-fonts-cjk-sans
|
||||
rPackages.fontawesome
|
||||
ubuntu_font_family
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
./tmux/tmux.nix
|
||||
./zoxide.nix
|
||||
./zsh.nix
|
||||
./nushell.nix
|
||||
];
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
|
|
@ -60,6 +61,7 @@
|
|||
atac
|
||||
dblab
|
||||
gobang
|
||||
lazyjournal
|
||||
|
||||
# TUI Apps
|
||||
#ncdu_2
|
||||
|
|
|
|||
28
home-manager/modules/hypridle.nix
Normal file
28
home-manager/modules/hypridle.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# Hypridle is a daemon that listens for user activity and runs commands when the user is idle.
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
general = {
|
||||
ignore_dbus_inhibit = false;
|
||||
lock_cmd = "pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
|
||||
before_sleep_cmd = "loginctl lock-session";
|
||||
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||
};
|
||||
|
||||
listener = [
|
||||
{
|
||||
timeout = 600;
|
||||
on-timeout = "pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = 660;
|
||||
on-timeout = "systemctl suspend";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -2,16 +2,17 @@
|
|||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [./waybar.nix];
|
||||
}:
|
||||
{
|
||||
imports = [ ./waybar.nix ];
|
||||
|
||||
services.mako = {
|
||||
enable = true;
|
||||
defaultTimeout = 4000;
|
||||
borderRadius = 5;
|
||||
borderSize = 2;
|
||||
layer = "overlay";
|
||||
};
|
||||
# services.mako = {
|
||||
# enable = true;
|
||||
# defaultTimeout = 4000;
|
||||
# borderRadius = 5;
|
||||
# borderSize = 2;
|
||||
# layer = "overlay";
|
||||
# };
|
||||
|
||||
wayland.windowManager.hyprland.enable = true;
|
||||
|
||||
|
|
@ -96,13 +97,17 @@
|
|||
|
||||
bind = [
|
||||
# general binds
|
||||
"$mod, RETURN, exec, ${pkgs.alacritty}/bin/alacritty"
|
||||
",switch:Lid Switch, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock when closing Lid
|
||||
# "$mod, RETURN, exec, ${pkgs.alacritty}/bin/alacritty"
|
||||
"$mod, RETURN, exec, ${pkgs.kitty}/bin/kitty"
|
||||
"$shiftMod,SPACE, exec, hyprfocus-toggle" # Toggle HyprFocus
|
||||
"$mod, Q, killactive"
|
||||
"SUPER_SHIFT, Q, exec, ${pkgs.wlogout}/bin/wlogout"
|
||||
"$mod, SPACE, exec, pkill fuzzel || ${pkgs.fuzzel}/bin/fuzzel" # pkill or allows for toggle
|
||||
"SUPER_SHIFT, SPACE, togglefloating"
|
||||
"$mod, F, fullscreen"
|
||||
"$mod, L, exec, ${pkgs.swaylock-effects}/bin/swaylock -f"
|
||||
# "$mod, F, fullscreen"
|
||||
"$mod,F, exec, hyprfocus-toggle" # Toggle HyprFocus
|
||||
"$mod, L, exec, ${pkgs.hyprlock}/bin/hyprlock"
|
||||
"$mod, B, exec, ${pkgs.grim}/bin/grim \"desktop-$(${pkgs.busybox}/bin/date +\"%Y%m%d%H%m\").png"
|
||||
"SUPER_SHIFT, B, exec, ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp -d)\" - | ${pkgs.wl-clipboard}/bin/wl-copy" # Screenshot selection directly to clipboard
|
||||
|
||||
|
|
@ -114,8 +119,10 @@
|
|||
# Screen Brightness
|
||||
#",XF86MonBrightnessUp, exec, ${pkgs.light}/bin/light -A 10"
|
||||
#",XF86MonBrightnessDown, exec, ${pkgs.light}/bin/light -U 10"
|
||||
",XF86MonBrightnessUp, exec, ${pkgs.light}/bin/light -S \"$(${pkgs.light}/bin/light -G | ${pkgs.busybox}/bin/awk '{ print int(($1 + .72) * 1.4) }')\""
|
||||
",XF86MonBrightnessDown, exec, ${pkgs.light}/bin/light -S \"$(${pkgs.light}/bin/light -G | ${pkgs.busybox}/bin/awk '{ print int($1 / 1.4) }')\""
|
||||
# ",XF86MonBrightnessUp, exec, ${pkgs.light}/bin/light -S \"$(${pkgs.light}/bin/light -G | ${pkgs.busybox}/bin/awk '{ print int(($1 + .72) * 1.4) }')\""
|
||||
# ",XF86MonBrightnessDown, exec, ${pkgs.light}/bin/light -S \"$(${pkgs.light}/bin/light -G | ${pkgs.busybox}/bin/awk '{ print int($1 / 1.4) }')\""
|
||||
",XF86MonBrightnessUp, exec, brightness-up" # Brightness Up
|
||||
",XF86MonBrightnessDown, exec, brightness-down" # Brightness Down
|
||||
# move focus
|
||||
"$mod, left, movefocus, l"
|
||||
"$mod, right, movefocus, r"
|
||||
|
|
@ -160,9 +167,9 @@
|
|||
"$mod_ALT, mouse:272, resizewindow"
|
||||
];
|
||||
|
||||
monitor = [",preferred,auto,1"];
|
||||
monitor = [ ",preferred,auto,1" ];
|
||||
# monitor = [ "HDMI-A-1,1920x1080@144,auto,1" ];
|
||||
exec = ["${pkgs.swaybg}/bin/swaybg -i ${config.stylix.image} -m fill"];
|
||||
exec = [ "${pkgs.swaybg}/bin/swaybg -i ${config.stylix.image} -m fill" ];
|
||||
exec-once = [
|
||||
# Enables clipboard sync
|
||||
"${pkgs.wl-clipboard}/bin/wl-paste -p | ${pkgs.wl-clipboard}/bin/wl-copy"
|
||||
|
|
@ -189,35 +196,5 @@
|
|||
# will reset the submap, meaning end the current one and return to the global one
|
||||
submap=reset
|
||||
'';
|
||||
services.swayidle = {
|
||||
enable = true;
|
||||
events = [
|
||||
{
|
||||
event = "before-sleep";
|
||||
command = "${pkgs.swaylock}/bin/swaylock -f";
|
||||
}
|
||||
{
|
||||
event = "lock";
|
||||
command = "lock";
|
||||
}
|
||||
];
|
||||
timeouts = [
|
||||
{
|
||||
timeout = 1800;
|
||||
command = "${pkgs.swaylock}/bin/swaylock -f";
|
||||
}
|
||||
];
|
||||
systemdTarget = "xdg-desktop-portal-hyprland.service";
|
||||
};
|
||||
|
||||
programs.swaylock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
font-size = "24";
|
||||
indicator-idle-visible = false;
|
||||
indicator-radius = 100;
|
||||
indicator-thickness = 20;
|
||||
show-failed-attempts = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
89
home-manager/modules/hyprlock.nix
Normal file
89
home-manager/modules/hyprlock.nix
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
foreground = "rgba(216, 222, 233, 0.70)";
|
||||
imageStr = toString config.stylix.image;
|
||||
font = config.stylix.fonts.serif.name;
|
||||
in
|
||||
{
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
grace = 5;
|
||||
no_fade_in = false;
|
||||
disable_loading_bar = false;
|
||||
};
|
||||
|
||||
# BACKGROUND
|
||||
background = {
|
||||
monitor = "";
|
||||
# path = imageStr;
|
||||
blur_passes = 0;
|
||||
contrast = 0.8916;
|
||||
brightness = 0.7172;
|
||||
vibrancy = 0.1696;
|
||||
vibrancy_darkness = 0.0;
|
||||
};
|
||||
|
||||
label = [
|
||||
{
|
||||
# Day-Month-Date
|
||||
monitor = "";
|
||||
text = ''cmd[update:1000] echo -e "$(date +"%A, %B %d")"'';
|
||||
color = foreground;
|
||||
font_size = 28;
|
||||
font_family = font + " Bold";
|
||||
position = "0, 490";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
# Time
|
||||
{
|
||||
monitor = "";
|
||||
text = ''cmd[update:1000] echo "<span>$(date +"%I:%M")</span>"'';
|
||||
color = foreground;
|
||||
font_size = 160;
|
||||
font_family = "steelfish outline regular";
|
||||
position = "0, 370";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
# USER
|
||||
{
|
||||
monitor = "";
|
||||
text = " $USER";
|
||||
color = foreground;
|
||||
outline_thickness = 2;
|
||||
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true;
|
||||
font_size = 18;
|
||||
font_family = font + " Bold";
|
||||
position = "0, -180";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
|
||||
# INPUT FIELD
|
||||
input-field = lib.mkForce {
|
||||
monitor = "";
|
||||
size = "300, 60";
|
||||
outline_thickness = 2;
|
||||
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true;
|
||||
outer_color = "rgba(255, 255, 255, 0)";
|
||||
inner_color = "rgba(255, 255, 255, 0.1)";
|
||||
font_color = foreground;
|
||||
fade_on_empty = false;
|
||||
font_family = font + " Bold";
|
||||
placeholder_text = "<i>🔒 Enter Password</i>";
|
||||
hide_input = false;
|
||||
position = "0, -250";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
239
home-manager/modules/hyprpanel.nix
Normal file
239
home-manager/modules/hyprpanel.nix
Normal file
|
|
@ -0,0 +1,239 @@
|
|||
# Hyprpanel is the bar on top of the screen
|
||||
# Display informations like workspaces, battery, wifi, ...
|
||||
{ pkgs, config, ... }:
|
||||
let
|
||||
transparentButtons = config.var.theme.bar.transparentButtons;
|
||||
|
||||
location = config.var.location;
|
||||
username = config.var.username;
|
||||
|
||||
accent = "#${config.lib.stylix.colors.base0D}";
|
||||
accent-alt = "#${config.lib.stylix.colors.base03}";
|
||||
background = "#${config.lib.stylix.colors.base00}";
|
||||
background-alt = "#${config.lib.stylix.colors.base01}";
|
||||
foreground = "#${config.lib.stylix.colors.base05}";
|
||||
font = "${config.stylix.fonts.serif.name}";
|
||||
fontSize = "${toString config.stylix.fonts.sizes.desktop}";
|
||||
|
||||
rounding = config.var.theme.rounding;
|
||||
border-size = config.var.theme.border-size;
|
||||
|
||||
gaps-out = config.var.theme.gaps-out;
|
||||
gaps-in = config.var.theme.gaps-in;
|
||||
|
||||
floating = config.var.theme.bar.floating;
|
||||
transparent = config.var.theme.bar.transparent;
|
||||
position = config.var.theme.bar.position;
|
||||
|
||||
in
|
||||
{
|
||||
wayland.windowManager.hyprland.settings.exec-once = [ "${pkgs.hyprpanel}/bin/hyprpanel" ];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
hyprpanel
|
||||
libnotify
|
||||
];
|
||||
|
||||
home.file.".cache/ags/hyprpanel/options.json" = {
|
||||
text = # json
|
||||
''
|
||||
{
|
||||
"bar.layouts": {
|
||||
"0": {
|
||||
"left": [
|
||||
"dashboard",
|
||||
"workspaces",
|
||||
"windowtitle"
|
||||
],
|
||||
"middle": [
|
||||
"media"
|
||||
],
|
||||
"right": [
|
||||
"systray",
|
||||
"volume",
|
||||
"bluetooth",
|
||||
"battery",
|
||||
"network",
|
||||
"clock",
|
||||
"notifications"
|
||||
]
|
||||
},
|
||||
"1": {
|
||||
"left": [
|
||||
"dashboard",
|
||||
"workspaces",
|
||||
"windowtitle"
|
||||
],
|
||||
"middle": [
|
||||
"media"
|
||||
],
|
||||
"right": [
|
||||
"systray",
|
||||
"volume",
|
||||
"bluetooth",
|
||||
"battery",
|
||||
"network",
|
||||
"clock",
|
||||
"notifications"
|
||||
]
|
||||
},
|
||||
"2": {
|
||||
"left": [
|
||||
"dashboard",
|
||||
"workspaces",
|
||||
"windowtitle"
|
||||
],
|
||||
"middle": [
|
||||
"media"
|
||||
],
|
||||
"right": [
|
||||
"systray",
|
||||
"volume",
|
||||
"bluetooth",
|
||||
"battery",
|
||||
"network",
|
||||
"clock",
|
||||
"notifications"
|
||||
]
|
||||
}
|
||||
},
|
||||
"theme.font.name": "${font}",
|
||||
"theme.font.size": "${fontSize}px",
|
||||
"theme.bar.outer_spacing": "${if floating && transparent then "0" else "8"}px",
|
||||
"theme.bar.buttons.y_margins": "${if floating && transparent then "0" else "8"}px",
|
||||
"theme.bar.buttons.spacing": "0.3em",
|
||||
"theme.bar.buttons.radius": "${
|
||||
if transparent then toString rounding else toString (rounding - 8)
|
||||
}px",
|
||||
"theme.bar.floating": ${if floating then "true" else "false"},
|
||||
"theme.bar.buttons.padding_x": "0.8rem",
|
||||
"theme.bar.buttons.padding_y": "0.4rem",
|
||||
|
||||
"theme.bar.buttons.workspaces.hover": "${accent-alt}",
|
||||
"theme.bar.buttons.workspaces.active": "${accent}",
|
||||
"theme.bar.buttons.workspaces.available": "${accent-alt}",
|
||||
"theme.bar.buttons.workspaces.occupied": "${accent}",
|
||||
|
||||
"theme.bar.margin_top": "${if position == "top" then toString (gaps-in * 2) else "0"}px",
|
||||
"theme.bar.margin_bottom": "${if position == "top" then "0" else toString (gaps-in * 2)}px",
|
||||
"theme.bar.margin_sides": "${toString gaps-out}px",
|
||||
"theme.bar.border_radius": "${toString rounding}px",
|
||||
|
||||
"bar.launcher.icon": "",
|
||||
"theme.bar.transparent": ${if transparent then "true" else "false"},
|
||||
"bar.workspaces.show_numbered": false,
|
||||
"bar.workspaces.workspaces": 5,
|
||||
"bar.workspaces.monitorSpecific": true,
|
||||
"bar.workspaces.hideUnoccupied": false,
|
||||
"bar.windowtitle.label": true,
|
||||
"bar.volume.label": false,
|
||||
"bar.network.truncation_size": 12,
|
||||
"bar.bluetooth.label": false,
|
||||
"bar.clock.format": "%a %b %d %I:%M %p",
|
||||
"bar.notifications.show_total": true,
|
||||
"theme.notification.border_radius": "${toString rounding}px",
|
||||
"theme.osd.enable": true,
|
||||
"theme.osd.orientation": "vertical",
|
||||
"theme.osd.location": "left",
|
||||
"theme.osd.radius": "${toString rounding}px",
|
||||
"theme.osd.margins": "0px 0px 0px 10px",
|
||||
"theme.osd.muted_zero": true,
|
||||
"menus.clock.weather.location": "${location}",
|
||||
"menus.clock.weather.key": "myapikey",
|
||||
"menus.clock.weather.unit": "metric",
|
||||
"menus.dashboard.powermenu.avatar.image": "/home/${username}/.profile_picture.png",
|
||||
"menus.dashboard.powermenu.confirmation": false,
|
||||
|
||||
"menus.dashboard.shortcuts.left.shortcut1.icon": "",
|
||||
"menus.dashboard.shortcuts.left.shortcut1.command": "qutebrowser",
|
||||
"menus.dashboard.shortcuts.left.shortcut1.tooltip": "Qutebrowser",
|
||||
"menus.dashboard.shortcuts.left.shortcut2.icon": "",
|
||||
"menus.dashboard.shortcuts.left.shortcut2.command": "caffeine",
|
||||
"menus.dashboard.shortcuts.left.shortcut2.tooltip": "Caffeine",
|
||||
"menus.dashboard.shortcuts.left.shortcut3.icon": "",
|
||||
"menus.dashboard.shortcuts.left.shortcut3.command": "night-shift",
|
||||
"menus.dashboard.shortcuts.left.shortcut3.tooltip": "Night-shift",
|
||||
"menus.dashboard.shortcuts.left.shortcut4.icon": "",
|
||||
"menus.dashboard.shortcuts.left.shortcut4.command": "menu",
|
||||
"menus.dashboard.shortcuts.left.shortcut4.tooltip": "Search Apps",
|
||||
"menus.dashboard.shortcuts.right.shortcut1.icon": "",
|
||||
"menus.dashboard.shortcuts.right.shortcut1.command": "hyprpicker -a",
|
||||
"menus.dashboard.shortcuts.right.shortcut1.tooltip": "Color Picker",
|
||||
"menus.dashboard.shortcuts.right.shortcut3.icon": "",
|
||||
"menus.dashboard.shortcuts.right.shortcut3.command": "screenshot region swappy",
|
||||
"menus.dashboard.shortcuts.right.shortcut3.tooltip": "Screenshot",
|
||||
|
||||
"menus.dashboard.directories.left.directory1.label": " Downloads",
|
||||
"menus.dashboard.directories.left.directory1.command": "bash -c \"thunar $HOME/Downloads/\"",
|
||||
"menus.dashboard.directories.left.directory2.label": " Pictures",
|
||||
"menus.dashboard.directories.left.directory2.command": "bash -c \"thunar $HOME/Pictures/\"",
|
||||
"menus.dashboard.directories.left.directory3.label": " Documents",
|
||||
"menus.dashboard.directories.left.directory3.command": "bash -c \"thunar $HOME/Documents/\"",
|
||||
"menus.dashboard.directories.right.directory1.label": " Home",
|
||||
"menus.dashboard.directories.right.directory1.command": "bash -c \"thunar $HOME/\"",
|
||||
"menus.dashboard.directories.right.directory2.label": " Projects",
|
||||
"menus.dashboard.directories.right.directory2.command": "bash -c \"thunar $HOME/dev/\"",
|
||||
"menus.dashboard.directories.right.directory3.label": " Config",
|
||||
"menus.dashboard.directories.right.directory3.command": "bash -c \"thunar $HOME/.config/\"",
|
||||
|
||||
"theme.bar.menus.monochrome": true,
|
||||
"wallpaper.enable": false,
|
||||
"theme.bar.menus.background": "${background}",
|
||||
"theme.bar.menus.cards": "${background-alt}",
|
||||
"theme.bar.menus.card_radius": "${toString rounding}px",
|
||||
"theme.bar.menus.label": "${foreground}",
|
||||
"theme.bar.menus.text": "${foreground}",
|
||||
"theme.bar.menus.border.size": "${toString border-size}px",
|
||||
"theme.bar.menus.border.color": "${accent}",
|
||||
"theme.bar.menus.border.radius": "${toString rounding}px",
|
||||
"theme.bar.menus.popover.text": "${foreground}",
|
||||
"theme.bar.menus.popover.background": "${background-alt}",
|
||||
"theme.bar.menus.listitems.active": "${accent}",
|
||||
"theme.bar.menus.icons.active": "${accent}",
|
||||
"theme.bar.menus.switch.enabled":"${accent}",
|
||||
"theme.bar.menus.check_radio_button.active": "${accent}",
|
||||
"theme.bar.menus.buttons.default": "${accent}",
|
||||
"theme.bar.menus.buttons.active": "${accent}",
|
||||
"theme.bar.menus.iconbuttons.active": "${accent}",
|
||||
"theme.bar.menus.progressbar.foreground": "${accent}",
|
||||
"theme.bar.menus.slider.primary": "${accent}",
|
||||
"theme.bar.menus.tooltip.background": "${background-alt}",
|
||||
"theme.bar.menus.tooltip.text": "${foreground}",
|
||||
"theme.bar.menus.dropdownmenu.background":"${background-alt}",
|
||||
"theme.bar.menus.dropdownmenu.text": "${foreground}",
|
||||
"theme.bar.background": "${background + (if transparentButtons then "00" else "")}",
|
||||
"theme.bar.buttons.style": "default",
|
||||
"theme.bar.buttons.monochrome": true,
|
||||
"theme.bar.buttons.text": "${foreground}",
|
||||
"theme.bar.buttons.background": "${
|
||||
(if transparent then background else background-alt) + (if transparentButtons then "00" else "")
|
||||
}",
|
||||
"theme.bar.buttons.icon": "${accent}",
|
||||
"theme.bar.buttons.notifications.background": "${background-alt}",
|
||||
"theme.bar.buttons.hover": "${background}",
|
||||
"theme.bar.buttons.notifications.hover": "${background}",
|
||||
"theme.bar.buttons.notifications.total": "${accent}",
|
||||
"theme.bar.buttons.notifications.icon": "${accent}",
|
||||
"theme.notification.background": "${background-alt}",
|
||||
"theme.notification.actions.background": "${accent}",
|
||||
"theme.notification.actions.text": "${foreground}",
|
||||
"theme.notification.label": "${accent}",
|
||||
"theme.notification.border": "${background-alt}",
|
||||
"theme.notification.text": "${foreground}",
|
||||
"theme.notification.labelicon": "${accent}",
|
||||
"theme.osd.bar_color": "${accent}",
|
||||
"theme.osd.bar_overflow_color": "${accent-alt}",
|
||||
"theme.osd.icon": "${background}",
|
||||
"theme.osd.icon_container": "${accent}",
|
||||
"theme.osd.label": "${accent}",
|
||||
"theme.osd.bar_container": "${background-alt}",
|
||||
"theme.bar.menus.menu.media.background.color": "${background-alt}",
|
||||
"theme.bar.menus.menu.media.card.color": "${background-alt}",
|
||||
"theme.bar.menus.menu.media.card.tint": 90,
|
||||
"bar.customModules.updates.pollingInterval": 1440000,
|
||||
"bar.media.show_active_only": true,
|
||||
"theme.bar.location": "${position}"
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
19
home-manager/modules/hyprspace.nix
Normal file
19
home-manager/modules/hyprspace.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{ inputs, pkgs, ... }:
|
||||
{
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
plugins = [ inputs.hyprspace.packages.${pkgs.system}.Hyprspace ];
|
||||
settings = {
|
||||
plugin = {
|
||||
overview = {
|
||||
autoDrag = false;
|
||||
};
|
||||
};
|
||||
|
||||
bind = [
|
||||
"$mod,S, overview:toggle" # Overview
|
||||
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
29
home-manager/modules/kitty.nix
Normal file
29
home-manager/modules/kitty.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# A fast, GPU-accelerated terminal emulator.
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
font = {
|
||||
# name = lib.mkForce "Comic Code";
|
||||
size = lib.mkForce 16;
|
||||
};
|
||||
shellIntegration.enableZshIntegration = true;
|
||||
extraConfig = ''
|
||||
font_family family="Comic Code Ligatures"
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
symbol_map U+e000-U+e00a,U+ea60-U+ebeb,U+e0a0-U+e0c8,U+e0ca,U+e0cc-U+e0d7,U+e200-U+e2a9,U+e300-U+e3e3,U+e5fa-U+e6b1,U+e700-U+e7c5,U+ed00-U+efc1,U+f000-U+f2ff,U+f000-U+f2e0,U+f300-U+f372,U+f400-U+f533,U+f0001-U+f1af0 Symbols Nerd Font Mono
|
||||
'';
|
||||
environment = {
|
||||
"TERM" = "xterm-256color";
|
||||
};
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
ueberzugpp
|
||||
];
|
||||
}
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./discord
|
||||
./zathura.nix
|
||||
|
|
@ -27,5 +28,6 @@
|
|||
chromium
|
||||
vlc
|
||||
zotero
|
||||
feishin
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
programs.nixvim = {
|
||||
extraConfigLuaPre =
|
||||
# lua
|
||||
|
|
@ -63,10 +64,10 @@
|
|||
servers = {
|
||||
nil-ls = {
|
||||
enable = true;
|
||||
filetypes = ["nix"];
|
||||
filetypes = [ "nix" ];
|
||||
settings = {
|
||||
formatting = {
|
||||
command = ["${lib.getExe pkgs.nixfmt-rfc-style}"];
|
||||
command = [ "${lib.getExe pkgs.nixfmt-rfc-style}" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -74,14 +75,19 @@
|
|||
pyright.enable = true;
|
||||
hls.enable = true;
|
||||
gopls.enable = true;
|
||||
hls.installGhc = true;
|
||||
# hls.installGhc = true;
|
||||
hls.filetypes = [
|
||||
"haskell"
|
||||
"lhaskell"
|
||||
"cabal"
|
||||
];
|
||||
leanls.enable = true;
|
||||
texlab.enable = true;
|
||||
html.enable = true;
|
||||
|
||||
cmake = {
|
||||
enable = true;
|
||||
filetypes = ["cmake"];
|
||||
filetypes = [ "cmake" ];
|
||||
};
|
||||
|
||||
# ccls = {
|
||||
|
|
|
|||
118
home-manager/modules/nushell.nix
Normal file
118
home-manager/modules/nushell.nix
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
# A cat clone with syntax highlighting and Git integration.
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.nushell = {
|
||||
enable = true;
|
||||
envFile.text = ''
|
||||
# Environment Variables
|
||||
$env.XDG_CONFIG_HOME = ($env.HOME | path join ".config")
|
||||
# Starship Prompt
|
||||
mkdir ~/.cache/starship
|
||||
starship init nu | save -f ~/.cache/starship/init.nu
|
||||
# Zoxide
|
||||
zoxide init nushell | save -f ~/.zoxide.nu
|
||||
'';
|
||||
shellAliases = {
|
||||
update = "sudo nixos-rebuild switch";
|
||||
clean = "nix-collect-garbage -d";
|
||||
repair = "nix-store --repair --verify --check-contents";
|
||||
|
||||
"." = "cd ../";
|
||||
".." = "cd ../../";
|
||||
"..." = "cd ../../../";
|
||||
"...." = "cd ../../../../";
|
||||
|
||||
ls = "ls | grid -c -i";
|
||||
ll = "ls";
|
||||
|
||||
ps = "procs";
|
||||
grep = "rg";
|
||||
cat = "bat";
|
||||
vim = "nvim";
|
||||
|
||||
# Default flags
|
||||
rm = "rm -i";
|
||||
chmod = "chmod -R";
|
||||
cp = "cp -i -v";
|
||||
mv = "mv -i -v";
|
||||
mkdir = "mkdir -p -v";
|
||||
df = "df -h";
|
||||
du = "du -h -s";
|
||||
dd = "dd status=progress bs=4M conv=fdatasync ";
|
||||
wgetpaste = "wgetpaste -Xx";
|
||||
sudo = "sudo "; # Makes sudo work with es
|
||||
ssh = "TERM=xterm ssh"; # Fixes some issues with ssh on some terminals
|
||||
wget = "wget -c";
|
||||
ping = "ping -c 5";
|
||||
ftp = "ftp -p";
|
||||
|
||||
# Misc alieses I use often
|
||||
|
||||
ports = "ss -tulanp";
|
||||
rmd = "rm -rf";
|
||||
mine = "sudo chown -R $(whoami):users";
|
||||
benchmark = "hyperfine --warmup 3 ";
|
||||
c = "clear";
|
||||
listen = "lsof -P -i -n";
|
||||
octal = "stat -c '%a %n'";
|
||||
};
|
||||
configFile.text = ''
|
||||
$env.config = {
|
||||
show_banner: false
|
||||
}
|
||||
# Starhip Prompt
|
||||
use ~/.cache/starship/init.nu
|
||||
# Zoxide
|
||||
source ~/.zoxide.nu
|
||||
# nix shell
|
||||
def nix-shell [] {
|
||||
nix-shell --run $env.SHELL
|
||||
}
|
||||
def "version-completions" [] {
|
||||
[
|
||||
{value: "4", description: "IPv4 address (default)"},
|
||||
{value: "6", description: "IPv6 address"}
|
||||
]}
|
||||
# Define the function with completion annotation
|
||||
def "whatismyip" [
|
||||
version?: int@version-completions # Parameter with custom completion
|
||||
] {
|
||||
# Validate and set default version
|
||||
let version = if ($version == null) {
|
||||
4
|
||||
} else if ($version in [4 6]) {
|
||||
$version
|
||||
} else {
|
||||
error make {
|
||||
msg: "Invalid IP version. Must be either 4 or 6."
|
||||
}
|
||||
}
|
||||
# Get IP address
|
||||
let ip = (http get $"https://api($version).ipify.org")
|
||||
# Create record and display as table
|
||||
{
|
||||
$"ip($version)": $ip
|
||||
} | table
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
fastfetch
|
||||
];
|
||||
|
||||
programs = {
|
||||
carapace.enable = true;
|
||||
carapace.enableNushellIntegration = true;
|
||||
# starship = {
|
||||
# enable = true;
|
||||
# settings = {
|
||||
# add_newline = true;
|
||||
# character = {
|
||||
# success_symbol = "[➜](bold green)";
|
||||
# error_symbol = "[➜](bold red)";
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
};
|
||||
}
|
||||
170
home-manager/modules/qutebrowser.nix
Normal file
170
home-manager/modules/qutebrowser.nix
Normal file
|
|
@ -0,0 +1,170 @@
|
|||
# A cat clone with syntax highlighting and Git integration.
|
||||
{ ... }:
|
||||
{
|
||||
programs.qutebrowser = {
|
||||
enable = true;
|
||||
|
||||
searchEngines = {
|
||||
"DEFAULT" = "https://duckduckgo.com/?q={}&ia=web";
|
||||
"d" = "https://duckduckgo.com/?q={}&ia=web";
|
||||
"g" = "https://google.com/search?q={}";
|
||||
"y" = "https://youtube.com/results?search_query={}";
|
||||
"ya" = "https://yandex.com/search/?text={}";
|
||||
"n" = "https://mynixos.com/search?q={}";
|
||||
"nixo" = "https://search.nixos.org/options?channel=unstable&query={}";
|
||||
"nixp" = "https://search.nixos.org/packages?channel=unstable&query={}";
|
||||
"gt" = "https://github.com/search?q={}&type=repositories";
|
||||
};
|
||||
|
||||
quickmarks = {
|
||||
home = "github.com/gwg313";
|
||||
mynixos = "https://mynixos.com";
|
||||
github = "https://github.com";
|
||||
outlook = "https://outlook.office.com/mail/";
|
||||
office = "https://www.office.com/?auth=2";
|
||||
proton = "https://mail.proton.me/u/0/inbox";
|
||||
cloudflare-one = "https://one.dash.cloudflare.com/";
|
||||
chatgpt = "https://chat.openai.com/";
|
||||
nixvim = "https://nix-community.github.io/nixvim/";
|
||||
hyprland = "https://wiki.hyprland.org/";
|
||||
nerdfont = "https://www.nerdfonts.com/cheat-sheet";
|
||||
youtube = "https://youtube.com/";
|
||||
cloudflare = "https://dash.cloudflare.com/";
|
||||
};
|
||||
|
||||
settings = {
|
||||
url = {
|
||||
default_page = "github.com/gwg313";
|
||||
start_pages = [ "github.com/gwg313" ];
|
||||
};
|
||||
|
||||
colors = {
|
||||
webpage.preferred_color_scheme = "dark"; # Enable dark mode for websites that support it
|
||||
};
|
||||
|
||||
statusbar.show = "in-mode";
|
||||
|
||||
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";
|
||||
javascript.enabled = true;
|
||||
webgl = true;
|
||||
pdfjs = true;
|
||||
};
|
||||
|
||||
downloads = {
|
||||
position = "bottom";
|
||||
remove_finished = 0;
|
||||
};
|
||||
|
||||
hints = {
|
||||
radius = 1;
|
||||
};
|
||||
|
||||
scrolling = {
|
||||
bar = "never";
|
||||
smooth = true;
|
||||
};
|
||||
|
||||
tabs = {
|
||||
show = "multiple";
|
||||
last_close = "close";
|
||||
mode_on_change = "restore";
|
||||
close_mouse_button = "right";
|
||||
};
|
||||
|
||||
zoom.default = "100%";
|
||||
|
||||
qt.force_software_rendering = "chromium";
|
||||
};
|
||||
|
||||
keyBindings = {
|
||||
normal = {
|
||||
" p" = "tab-move -";
|
||||
" n" = "tab-move +";
|
||||
" w" = "tab-close";
|
||||
|
||||
" 1" = "tab-focus 1";
|
||||
" 2" = "tab-focus 2";
|
||||
" 3" = "tab-focus 3";
|
||||
" 4" = "tab-focus 4";
|
||||
" 5" = "tab-focus 5";
|
||||
" 6" = "tab-focus 6";
|
||||
" 7" = "tab-focus 7";
|
||||
" 8" = "tab-focus 8";
|
||||
" 9" = "tab-focus 9";
|
||||
" 0" = "tab-focus 10";
|
||||
|
||||
"<Ctrl-w>" = "tab-close";
|
||||
"<Ctrl-n>" = "open -w";
|
||||
|
||||
"<Ctrl-1>" = "tab-focus 1";
|
||||
"<Ctrl-2>" = "tab-focus 2";
|
||||
"<Ctrl-3>" = "tab-focus 3";
|
||||
"<Ctrl-4>" = "tab-focus 4";
|
||||
"<Ctrl-5>" = "tab-focus 5";
|
||||
"<Ctrl-6>" = "tab-focus 6";
|
||||
"<Ctrl-7>" = "tab-focus 7";
|
||||
"<Ctrl-8>" = "tab-focus 8";
|
||||
"<Ctrl-9>" = "tab-focus 9";
|
||||
"<Ctrl-0>" = "tab-focus 10";
|
||||
};
|
||||
|
||||
command = {
|
||||
"<Ctrl-w>" = "tab-close";
|
||||
"<Ctrl-n>" = "open -w";
|
||||
"<Ctrl-1>" = "tab-focus 1";
|
||||
"<Ctrl-2>" = "tab-focus 2";
|
||||
"<Ctrl-3>" = "tab-focus 3";
|
||||
"<Ctrl-4>" = "tab-focus 4";
|
||||
"<Ctrl-5>" = "tab-focus 5";
|
||||
"<Ctrl-6>" = "tab-focus 6";
|
||||
"<Ctrl-7>" = "tab-focus 7";
|
||||
"<Ctrl-8>" = "tab-focus 8";
|
||||
"<Ctrl-9>" = "tab-focus 9";
|
||||
"<Ctrl-0>" = "tab-focus 10";
|
||||
};
|
||||
|
||||
insert = {
|
||||
"<Ctrl-w>" = "tab-close";
|
||||
"<Ctrl-n>" = "open -w";
|
||||
"<Ctrl-1>" = "tab-focus 1";
|
||||
"<Ctrl-2>" = "tab-focus 2";
|
||||
"<Ctrl-3>" = "tab-focus 3";
|
||||
"<Ctrl-4>" = "tab-focus 4";
|
||||
"<Ctrl-5>" = "tab-focus 5";
|
||||
"<Ctrl-6>" = "tab-focus 6";
|
||||
"<Ctrl-7>" = "tab-focus 7";
|
||||
"<Ctrl-8>" = "tab-focus 8";
|
||||
"<Ctrl-9>" = "tab-focus 9";
|
||||
"<Ctrl-0>" = "tab-focus 10";
|
||||
};
|
||||
};
|
||||
|
||||
extraConfig = ''
|
||||
config.unbind("gm")
|
||||
config.unbind("gd")
|
||||
config.unbind("gb")
|
||||
config.unbind("tl")
|
||||
config.unbind("gt")
|
||||
|
||||
c.tabs.padding = {"bottom": 6, "left": 7, "right": 7, "top": 6}
|
||||
c.statusbar.padding = {"bottom": 6, "left": 7, "right": 7, "top": 6}
|
||||
|
||||
config.load_autoconfig(True)
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
@ -1,8 +1,10 @@
|
|||
# A customizable prompt for shells.
|
||||
{...}: {
|
||||
{ ... }:
|
||||
{
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
enableNushellIntegration = true;
|
||||
settings = {
|
||||
add_newline = true;
|
||||
character = {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
# ✨ Magical shell history
|
||||
{...}: {
|
||||
{ ... }:
|
||||
{
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
|
||||
programs.zsh = {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@
|
|||
pkgs,
|
||||
user,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
|
|
@ -53,10 +54,10 @@
|
|||
zplug = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
{name = "zsh-users/zsh-autosuggestions";}
|
||||
{name = "zsh-users/zsh-completions";}
|
||||
{name = "zsh-users/zsh-syntax-highlighting";}
|
||||
{name = "MichaelAquilina/zsh-you-should-use";}
|
||||
{ name = "zsh-users/zsh-autosuggestions"; }
|
||||
{ name = "zsh-users/zsh-completions"; }
|
||||
{ name = "zsh-users/zsh-syntax-highlighting"; }
|
||||
{ name = "MichaelAquilina/zsh-you-should-use"; }
|
||||
];
|
||||
};
|
||||
|
||||
|
|
@ -75,6 +76,11 @@
|
|||
};
|
||||
initExtra = ''
|
||||
eval $(thefuck --alias)
|
||||
fastfetch
|
||||
'';
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
fastfetch
|
||||
];
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue