more stuff

This commit is contained in:
gwg313 2025-02-09 11:16:45 -05:00
parent 42a0bf27e0
commit fe34badada
Signed by: gwg313
GPG key ID: 60FF63B4826B7400
24 changed files with 904 additions and 2343 deletions

View file

@ -22,7 +22,8 @@
./candlekeep/variables.nix
# ./nvim.nix
../modules/common.nix
../modules/hyprland.nix
# ../modules/hyprland.nix
../modules/hyprland
../modules/common-gui.nix
../modules/linux-gui.nix
../modules/devenv.nix

View file

@ -7,7 +7,8 @@
config,
pkgs,
...
}: {
}:
{
# You can import other home-manager modules here
imports = [
# If you want to use modules your own flake exports (from modules/home-manager):
@ -17,8 +18,14 @@
# inputs.nix-colors.homeManagerModules.default
# You can also split up your configuration and import pieces of it here:
./candlekeep/variables.nix
../modules/hyprpanel.nix
../modules/hyprlock.nix
# ../modules/hypridle.nix
# ./nvim.nix
../modules/common.nix
../modules/hyprland.nix
../modules/common-gui.nix
../modules/linux-gui.nix
@ -106,7 +113,7 @@
# Add stuff for your user as you see fit:
# programs.neovim.enable = true;
home.packages = with pkgs; [openvpn];
home.packages = with pkgs; [ openvpn ];
# Enable home-manager and git
programs.home-manager.enable = true;

View file

@ -0,0 +1,26 @@
{ config, ... }:
{
imports = [ ../../../common/nixos/variables-config.nix ];
config.var = {
hostname = "grymforge";
username = "gwg313";
configDirectory = "/home/" + config.var.username + "/.config/nixos";
keyboardLayout = "en_US";
location = "Ottawa";
timeZone = "American/Toronto";
defaultLocale = "en_US.UTF-8";
git = {
username = "gwg313";
email = "gwg313@pm.me";
};
autoUpgrade = true;
autoGarbageCollector = true;
theme = import ../../../common/style/vars/grymforge.nix;
};
}

View file

@ -0,0 +1,6 @@
{ ... }:
{
programs.btop = {
enable = true;
};
}

View file

@ -8,6 +8,7 @@
imports = [
./atuin.nix
./bat.nix
./btop.nix
# ./broot.nix
./eza.nix
./git.nix
@ -23,11 +24,13 @@
home.packages =
with pkgs;
[
ghostty
# Editors
# neovim # Improved version of vim, often used with overlays.
vim # Highly configurable text editor popular for efficiency and extensibility.
sshfs
lurk
# Builtin Replacements
bottom # Similar to 'htop,' providing a top-like interface with additional features.
colordiff # Tool to colorize 'diff' output, making differences between files easier to spot.

View file

@ -9,10 +9,12 @@
enableZshIntegration = true;
settings = {
auto-update = "off";
background-opacity = 0.8;
# background-opacity = 0.8;
background-opacity = 1;
confirm-close-surface = false;
font-family = "Comic Code Ligatures";
font-size = 14;
font-family = lib.mkForce "Comic Code Ligatures";
font-size = 16;
gtk-titlebar = false;
# theme = "Teerb";
};

View file

@ -99,14 +99,14 @@
# general binds
",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"
"$mod, RETURN, exec, ${pkgs.ghostty}/bin/ghostty"
"$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,F, exec, hyprfocus-toggle" # Toggle HyprFocus
"$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
@ -167,7 +167,15 @@
"$mod_ALT, mouse:272, resizewindow"
];
monitor = [ ",preferred,auto,1" ];
monitor = [
# "eDP-1,highres,0x0,1"
# "DP-1,preferred,0x0,1"
# "HDMI-A-1,2560x0,auto,1"
",preferred,auto,1"
];
# monitor = [ "DP-1,preferred,0x0,1" ];
# monitor = [ "HDMI-A-1,2560x0,auto,1" ];
# monitor = [ "HDMI-A-1,1920x1080@144,auto,1" ];
exec = [ "${pkgs.swaybg}/bin/swaybg -i ${config.stylix.image} -m fill" ];
exec-once = [

View file

@ -15,7 +15,7 @@
# general binds
",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"
"$mod, RETURN, exec, ${pkgs.ghostty}/bin/ghostty"
"$shiftMod,SPACE, exec, hyprfocus-toggle" # Toggle HyprFocus
"$mod, Q, killactive"
"SUPER_SHIFT, Q, exec, ${pkgs.wlogout}/bin/wlogout"

View file

@ -0,0 +1,169 @@
{
pkgs,
config,
inputs,
...
}:
let
border-size = config.var.theme.border-size;
gaps-in = config.var.theme.gaps-in;
gaps-out = config.var.theme.gaps-out;
active-opacity = config.var.theme.active-opacity;
inactive-opacity = config.var.theme.inactive-opacity;
rounding = config.var.theme.rounding;
blur = config.var.theme.blur;
keyboardLayout = config.var.keyboardLayout;
in
{
imports = [
./animations.nix
./bindings.nix
./polkitagent.nix
# ./hyprspace.nix
];
home.packages = with pkgs; [
qt5.qtwayland
qt6.qtwayland
libsForQt5.qt5ct
qt6ct
hyprshot
hyprpicker
swappy
imv
wf-recorder
wlr-randr
wl-clipboard
brightnessctl
gnome-themes-extra
libva
dconf
wayland-utils
wayland-protocols
glib
direnv
meson
];
wayland.windowManager.hyprland = {
enable = true;
xwayland.enable = true;
systemd.enable = true;
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
settings = {
"$mod" = "SUPER";
"$shiftMod" = "SUPER_SHIFT";
monitor = [
",prefered,auto,1"
];
env = [
"XDG_SESSION_TYPE,wayland"
"XDG_CURRENT_DESKTOP,Hyprland"
"MOZ_ENABLE_WAYLAND,1"
"ANKI_WAYLAND,1"
"DISABLE_QT5_COMPAT,0"
"NIXOS_OZONE_WL,1"
"XDG_SESSION_TYPE,wayland"
"XDG_SESSION_DESKTOP,Hyprland"
"QT_AUTO_SCREEN_SCALE_FACTOR,1"
"QT_QPA_PLATFORM=wayland,xcb"
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
"ELECTRON_OZONE_PLATFORM_HINT,auto"
# "GTK_THEME,FlatColor:dark"
# "GTK2_RC_FILES,/home/hadi/.local/share/themes/FlatColor/gtk-2.0/gtkrc"
"__GL_GSYNC_ALLOWED,0"
"__GL_VRR_ALLOWED,0"
"DISABLE_QT5_COMPAT,0"
"DIRENV_LOG_FORMAT,"
"WLR_DRM_NO_ATOMIC,1"
"WLR_BACKEND,vulkan"
"WLR_RENDERER,vulkan"
"WLR_NO_HARDWARE_CURSORS,1"
"XDG_SESSION_TYPE,wayland"
"SDL_VIDEODRIVER,wayland"
"CLUTTER_BACKEND,wayland"
"AQ_DRM_DEVICES,/dev/dri/card2:/dev/dri/card1" # CHANGEME: Related to the GPU
];
cursor = {
no_hardware_cursors = true;
default_monitor = "eDP-2";
};
general = {
resize_on_border = true;
gaps_in = gaps-in;
gaps_out = gaps-out;
border_size = border-size;
border_part_of_window = true;
layout = "master";
};
decoration = {
active_opacity = active-opacity;
inactive_opacity = inactive-opacity;
rounding = rounding;
shadow = {
enabled = true;
range = 20;
render_power = 3;
};
blur = {
enabled = if blur then "true" else "false";
};
};
master = {
new_status = true;
allow_small_split = true;
mfact = 0.5;
};
gestures = {
workspace_swipe = true;
};
misc = {
vfr = true;
disable_hyprland_logo = true;
disable_splash_rendering = true;
disable_autoreload = true;
focus_on_activate = true;
new_window_takes_over_fullscreen = 2;
};
windowrulev2 = [
"float, tag:modal"
"pin, tag:modal"
"center, tag:modal"
];
layerrule = [
"noanim, launcher"
"noanim, ^ags-.*"
];
input = {
# kb_layout = keyboardLayout;
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;
};
};
};
};
systemd.user.targets.hyprland-session.Unit.Wants = [ "xdg-desktop-autostart.target" ];
}

View file

@ -106,7 +106,7 @@
"$mod, SPACE, exec, pkill fuzzel || ${pkgs.fuzzel}/bin/fuzzel" # pkill or allows for toggle
"SUPER_SHIFT, SPACE, togglefloating"
# "$mod, F, fullscreen"
"$mod,F, exec, hyprfocus-toggle" # Toggle HyprFocus
"$mod,F, exec, fullscreen"
"$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

View file

@ -11,7 +11,7 @@
};
bind = [
"$mod,TAB, overview:toggle" # Overview
"$mod,TAB, overview:toggle"
];
};

View file

@ -1,12 +1,9 @@
# Hyprpanel is the bar on top of the screen
# Display informations like workspaces, battery, wifi, ...
{ pkgs, config, ... }:
{ inputs, 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}";
@ -25,215 +22,164 @@ let
transparent = config.var.theme.bar.transparent;
position = config.var.theme.bar.position;
location = config.var.location;
in
{
wayland.windowManager.hyprland.settings.exec-once = [ "${pkgs.hyprpanel}/bin/hyprpanel" ];
home.packages = with pkgs; [
hyprpanel
libnotify
];
imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ];
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",
programs.hyprpanel = {
enable = true;
systemd.enable = true;
hyprland.enable = true;
overwrite.enable = true;
overlay.enable = true;
layout = {
"bar.layouts" = {
"0" = {
"left" = [
"dashboard"
"workspaces"
"windowtitle"
];
"middle" = [ "media" ];
"right" = [
"systray"
"volume"
"bluetooth"
"battery"
"network"
"clock"
"notifications"
];
};
};
};
"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}",
override = {
"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-alt}";
"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.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.unit" = "metric";
"menus.dashboard.powermenu.confirmation" = false;
"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",
"menus.dashboard.shortcuts.left.shortcut1.icon" = "";
"menus.dashboard.shortcuts.left.shortcut1.command" = "zen";
"menus.dashboard.shortcuts.left.shortcut1.tooltip" = "Zen";
"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";
"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}"
}
'';
"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 && transparent 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}";
"bar.workspaces.numbered_active_indicator" = "color";
"bar.workspaces.monitorSpecific" = false;
"bar.workspaces.applicationIconEmptyWorkspace" = "";
"bar.workspaces.showApplicationIcons" = true;
"bar.workspaces.showWsIcons" = true;
"theme.bar.dropdownGap" = "4.5em";
};
};
}

View file

@ -22,9 +22,6 @@
"..." = "cd ../../../";
"...." = "cd ../../../../";
ls = "ls | grid -c -i";
ll = "ls";
ps = "procs";
grep = "rg";
cat = "bat";

View file

@ -35,8 +35,49 @@
fastfetch
'';
shellAliases = {
c = "clear";
cd = "z";
update = "sudo nixos-rebuild switch";
clean = "nix-collect-garbage -d";
repair = "nix-store --repair --verify --check-contents";
"." = "cd ../";
".." = "cd ../../";
"..." = "cd ../../../";
"...." = "cd ../../../../";
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 -v";
df = "df -h";
du = "du -h";
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'";
l = "ls --all";
lt = "eza --tree --level=2 --long --icons --git";
};
};
carapace.enable = true;

View file

@ -0,0 +1,97 @@
{ ... }:
{
programs = {
nushell = {
enable = true;
# The config.nu can be anywhere you want if you like to edit your Nushell with Nu
# configFile.source = ./.../config.nu;
# for editing directly to config.nu
envFile.source = ./env.nu;
extraConfig = ''
let carapace_completer = {|spans|
carapace $spans.0 nushell $spans | from json
}
$env.config = {
show_banner: false,
completions: {
case_sensitive: false # case-sensitive completions
quick: true # set to false to prevent auto-selecting completions
partial: true # set to false to prevent partial filling of the prompt
algorithm: "fuzzy" # prefix or fuzzy
external: {
# set to false to prevent nushell looking into $env.PATH to find more suggestions
enable: true
# set to lower can improve completion performance at the cost of omitting some options
max_results: 100
completer: $carapace_completer # check 'carapace_completer'
}
}
}
$env.PATH = ($env.PATH |
split row (char esep) |
prepend /home/myuser/.apps |
append /usr/bin/env
)
fastfetch
'';
shellAliases = {
cd = "z";
update = "sudo nixos-rebuild switch";
clean = "nix-collect-garbage -d";
repair = "nix-store --repair --verify --check-contents";
"." = "cd ../";
".." = "cd ../../";
"..." = "cd ../../../";
"...." = "cd ../../../../";
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 -v";
df = "df -h";
# du = "du -h";
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'";
l = "ls --all";
lt = "eza --tree --level=2 --long --icons --git";
};
};
carapace.enable = true;
carapace.enableNushellIntegration = true;
starship = {
enable = true;
settings = {
add_newline = true;
# character = {
# success_symbol = "[➜](bold green)";
# error_symbol = "[➜](bold red)";
# };
};
};
};
}

View file

@ -0,0 +1,126 @@
{ }:
{
programs.nushell.aliases = {
s = "git status -sb";
g = "git";
ga = "git add";
gaa = "git add --all";
gapa = "git add --patch";
gau = "git add --update";
gb = "git branch";
gba = "git branch -a";
gbd = "git branch -d";
gbl = "git blame -b -w";
gbnm = "git branch --no-merged";
gbr = "git branch --remote";
gbs = "git bisect";
gbsb = "git bisect bad";
gbsg = "git bisect good";
gbsr = "git bisect reset";
gbss = "git bisect start";
gc = "git commit -v";
"gc!" = "git commit -v --amend";
gca = "git commit -v -a";
"gca!" = "git commit -v -a --amend";
gcam = "git commit -a -m";
"gcan!" = "git commit -v -a --no-edit --amend";
"gcans!" = "git commit -v -a -s --no-edit --amend";
gcb = "git checkout -b";
gcd = "git checkout develop";
gcf = "git config --list";
gcl = "git clone --recursive";
gclean = "git clean -fd";
gcm = "git checkout master";
gcmsg = "git commit -m";
"gcn!" = "git commit -v --no-edit --amend";
gco = "git checkout";
gcount = "git shortlog -sn";
gcp = "git cherry-pick";
gcpa = "git cherry-pick --abort";
gcpc = "git cherry-pick --continue";
gcs = "git commit -S";
gcsm = "git commit -s -m";
gd = "git diff";
gdca = "git diff --cached";
gdt = "git diff-tree --no-commit-id --name-only -r";
gdw = "git diff --word-diff";
gf = "git fetch";
gfa = "git fetch --all --prune";
gfo = "git fetch origin";
gg = "git gui citool";
gga = "git gui citool --amend";
ggpull = "git pull origin (git_current_branch)";
ggpush = "git push origin (git_current_branch)";
ggsup = "git branch --set-upstream-to=origin/(git_current_branch)";
ghh = "git help";
gignore = "git update-index --assume-unchanged";
gk = "gitk --all --branches";
gke = "gitk --all (git log -g --pretty=%h)";
gl = "git pull";
glg = "git log --stat";
glgg = "git log --graph";
glgga = "git log --graph --decorate --all";
glgm = "git log --graph --max-count=10";
glgp = "git log --stat -p";
glo = "git log --oneline --decorate";
globurl = "noglob urlglobber";
glog = "git log --oneline --decorate --graph";
gloga = "git log --oneline --decorate --graph --all";
glol = "git log --graph --pretty=%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset\\ --abbrev-commit";
glola = "git log --graph --pretty=%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset\\ --abbrev-commit --all";
glp = "_git_log_prettily";
glum = "git pull upstream master";
gm = "git merge";
gmom = "git merge origin/master";
gmt = "git mergetool --no-prompt";
gmtvim = "git mergetool --no-prompt --tool=vimdiff";
gmum = "git merge upstream/master";
gp = "git push";
gpd = "git push --dry-run";
gpoat = "git push origin --all && git push origin --tags";
gpristine = "git reset --hard && git clean -dfx";
gpsup = "git push --set-upstream origin (git_current_branch)";
gpu = "git push upstream";
gpv = "git push -v";
gr = "git remote";
gra = "git remote add";
grb = "git rebase";
grba = "git rebase --abort";
grbc = "git rebase --continue";
grbi = "git rebase -i";
grbm = "git rebase master";
grbs = "git rebase --skip";
grep = "grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn}";
grh = "git reset HEAD";
grhh = "git reset HEAD --hard";
grmv = "git remote rename";
grrm = "git remote remove";
grset = "git remote set-url";
grt = "cd (git rev-parse --show-toplevel || echo '.')";
gru = "git reset --";
grup = "git remote update";
grv = "git remote -v";
gsb = "git status -sb";
gsd = "git svn dcommit";
gsi = "git submodule init";
gsps = "git show --pretty=short --show-signature";
gsr = "git svn rebase";
gss = "git status -s";
gst = "git status";
gsta = "git stash save";
gstaa = "git stash apply";
gstc = "git stash clear";
gstd = "git stash drop";
gstl = "git stash list";
gstp = "git stash pop";
gsts = "git stash show --text";
gsu = "git submodule update";
gts = "git tag -s";
gtv = "git tag | sort";
gunignore = "git update-index --no-assume-unchanged";
gup = "git pull --rebase";
gupv = "git pull --rebase -v";
gwch = "git whatchanged -p --abbrev-commit --pretty=medium";
};
}

View file

@ -2,7 +2,8 @@
pkgs,
config,
...
}: {
}:
{
stylix.targets.tmux.enable = false;
programs.tmux = {
enable = true;
@ -182,4 +183,16 @@
bindkey -M viins '\es' sesh-sessions
'';
};
programs.nushell = {
shellAliases = {
tx = "sesh connect /home/${config.home.username}";
ta = "tmux attach -t";
tad = "tmux attach -d -t";
ts = "tmux new-session -s";
tl = "tmux list-sessions";
tksv = "tmux kill-server";
tkss = "tmux kill-session -t";
};
};
}

View file

@ -1,11 +1,13 @@
{pkgs, ...}: let
{ pkgs, ... }:
let
plugins-repo = pkgs.fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
rev = "a3ee7173bff700214bc2d993ef605c3c41d800c9";
hash = "sha256-m2A/vIgGMzFzhaOgFL21cZua8h2XaYu7Jb6yuZQKiTw=";
rev = "02d18be03812415097e83c6a912924560e4cec6d";
hash = "sha256-1FZ8wcf2VVp6ZWY27vm1dUU1KAL32WwoYbNA/8RUAog=";
};
in {
in
{
programs.yazi = {
enable = true;
enableZshIntegration = true;
@ -28,8 +30,8 @@ in {
starship = pkgs.fetchFromGitHub {
owner = "Rolv-Apneseth";
repo = "starship.yazi";
rev = "dc9989c2bdd3d04e615d3bbb5f3bf99ed6ce1a35";
sha256 = "sha256-AwBqOKWtz5BzY7Sye1JljWI2t+JQGGQfOT6oQN7YTOg=";
rev = "af8bf6f82165b83272b6501ce7445cf2c61fbf51";
sha256 = "sha256-L7MkZZqJ+t+A61ceC4Q1joLF6ytoWdgx9BwZWAGAoCA=";
};
};
@ -46,7 +48,10 @@ in {
desc = "Maximize or restore the preview pane";
}
{
on = ["c" "m"];
on = [
"c"
"m"
];
run = "plugin chmod";
desc = "Chmod on selected files";
}