This commit is contained in:
gwg313 2024-12-15 14:08:33 -05:00
parent 308bdbebf9
commit badcf3aa40
Signed by: gwg313
GPG key ID: 60FF63B4826B7400
43 changed files with 1972 additions and 253 deletions

View file

@ -13,7 +13,8 @@
};
font = {
normal = {
family = lib.mkForce "Monaspace Krypton";
# family = lib.mkForce "Monaspace Krypton";
family = lib.mkForce "Comic Code";
};
};
};

View file

@ -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

View file

@ -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

View 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";
}
];
};
};
}

View file

@ -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;
};
};
}

View 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";
};
};
};
}

View 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}"
}
'';
};
}

View 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
];
};
};
}

View 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
];
}

View file

@ -1,4 +1,5 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
imports = [
./discord
./zathura.nix
@ -27,5 +28,6 @@
chromium
vlc
zotero
feishin
];
}

View file

@ -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 = {

View 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)";
# };
# };
# };
};
}

View 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)
'';
};
}

View file

@ -1,8 +1,10 @@
# A customizable prompt for shells.
{...}: {
{ ... }:
{
programs.starship = {
enable = true;
enableZshIntegration = true;
enableNushellIntegration = true;
settings = {
add_newline = true;
character = {

View file

@ -1,7 +1,9 @@
# ✨ Magical shell history
{...}: {
{ ... }:
{
programs.zoxide = {
enable = true;
enableNushellIntegration = true;
};
programs.zsh = {

View file

@ -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
];
}