Compare commits
No commits in common. "6b04ee02590183065832ffa92afd8f1d0e8a5b16" and "d6342c26b8f54490312ebc602b9317561ea303bc" have entirely different histories.
6b04ee0259
...
d6342c26b8
|
@ -37,6 +37,7 @@
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
};
|
};
|
||||||
lib = nixpkgs.lib;
|
lib = nixpkgs.lib;
|
||||||
in {
|
in {
|
||||||
|
|
|
@ -11,4 +11,5 @@
|
||||||
};
|
};
|
||||||
efi.canTouchEfiVariables = lib.mkDefault true;
|
efi.canTouchEfiVariables = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
imports =
|
imports =
|
||||||
[(import ./bootloader.nix)]
|
[(import ./bootloader.nix)]
|
||||||
++ [(import ./hardware.nix)]
|
++ [(import ./hardware.nix)]
|
||||||
|
++ [(import ./xserver.nix)]
|
||||||
++ [(import ./nix.nix)]
|
++ [(import ./nix.nix)]
|
||||||
++ [(import ./network.nix)]
|
++ [(import ./network.nix)]
|
||||||
++ [(import ./pipewire.nix)]
|
++ [(import ./pipewire.nix)]
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
{
|
{username, ...}: {
|
||||||
username,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
trusted-users = ["${username}"];
|
trusted-users = ["${username}"];
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
|
||||||
builtins.elem (lib.getName pkg) [
|
|
||||||
"steam"
|
|
||||||
"steam-unwrapped"
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
{pkgs, ...}: {
|
{...}: {
|
||||||
services = {
|
services = {
|
||||||
gvfs.enable = true;
|
gvfs.enable = true;
|
||||||
gnome.gnome-keyring.enable = true;
|
gnome.gnome-keyring.enable = true;
|
||||||
dbus.enable = true;
|
dbus.enable = true;
|
||||||
|
fstrim.enable = true;
|
||||||
flatpak.enable = true;
|
flatpak.enable = true;
|
||||||
printing.enable = true;
|
printing.enable = true;
|
||||||
blueman.enable = true;
|
blueman.enable = true;
|
||||||
|
@ -12,6 +13,8 @@
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
services.logind.extraConfig = ''
|
||||||
environment.systemPackages = [pkgs.libsecret];
|
# don’t shutdown when power button is short-pressed
|
||||||
|
HandlePowerKey=ignore
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,10 +5,13 @@
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
# imports = [ inputs.nix-gaming.nixosModules.default ];
|
||||||
nix = {
|
nix = {
|
||||||
settings = {
|
settings = {
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
experimental-features = ["nix-command" "flakes"];
|
experimental-features = ["nix-command" "flakes"];
|
||||||
|
substituters = ["https://nix-gaming.cachix.org"];
|
||||||
|
trusted-public-keys = ["nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="];
|
||||||
};
|
};
|
||||||
gc = {
|
gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
|
@ -16,15 +19,27 @@
|
||||||
options = "--delete-older-than 7d";
|
options = "--delete-older-than 7d";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
nixpkgs = {
|
||||||
|
overlays = [
|
||||||
|
inputs.nur.overlays.default
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
wget
|
wget
|
||||||
curl
|
|
||||||
git
|
git
|
||||||
|
ddcutil
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# For ddcutil brightness control
|
||||||
|
boot.kernelModules = ["i2c-dev"];
|
||||||
|
services.udev.extraRules = ''
|
||||||
|
KERNEL=="i2c-[0-9]*", GROUP="i2c", MODE="0660"
|
||||||
|
'';
|
||||||
|
|
||||||
time.timeZone = "Europe/Madrid";
|
time.timeZone = "Europe/Madrid";
|
||||||
console.keyMap = "es";
|
console.keyMap = "es";
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "24.05";
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,7 +39,6 @@
|
||||||
command = "uwsm start hyprland-uwsm.desktop";
|
command = "uwsm start hyprland-uwsm.desktop";
|
||||||
user = "${username}";
|
user = "${username}";
|
||||||
};
|
};
|
||||||
security.pam.services.greetd.enableGnomeKeyring = true;
|
|
||||||
|
|
||||||
environment.sessionVariables.XKB_DEFAULT_LAYOUT = "es";
|
environment.sessionVariables.XKB_DEFAULT_LAYOUT = "es";
|
||||||
}
|
}
|
||||||
|
|
27
modules/core/xserver.nix
Normal file
27
modules/core/xserver.nix
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
services = {
|
||||||
|
xserver = {
|
||||||
|
enable = true;
|
||||||
|
xkb.layout = "es,us";
|
||||||
|
};
|
||||||
|
|
||||||
|
displayManager.autoLogin = {
|
||||||
|
enable = true;
|
||||||
|
user = "${username}";
|
||||||
|
};
|
||||||
|
libinput = {
|
||||||
|
enable = true;
|
||||||
|
# mouse = {
|
||||||
|
# accelProfile = "flat";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# To prevent getting stuck at shutdown
|
||||||
|
systemd.extraConfig = "DefaultTimeoutStopSec=10s";
|
||||||
|
|
||||||
|
environment.systemPackages = [pkgs.xorg.xhost]; # GParted (and others) won't start if not installed
|
||||||
|
}
|
|
@ -11,8 +11,7 @@
|
||||||
++ [(import ./cava.nix)] # audio visualizer
|
++ [(import ./cava.nix)] # audio visualizer
|
||||||
++ [(import ./cliphist.nix)] # clipboard
|
++ [(import ./cliphist.nix)] # clipboard
|
||||||
++ [(import ./direnv.nix)]
|
++ [(import ./direnv.nix)]
|
||||||
++ [(import ./discord.nix)]
|
++ [(import ./discord.nix)] # discord with catppuccin theme
|
||||||
++ [(import ./distrobox.nix)]
|
|
||||||
++ [(import ./gpg.nix)] # GnuPG and its agent (gpg-agent)
|
++ [(import ./gpg.nix)] # GnuPG and its agent (gpg-agent)
|
||||||
++ [(import ./fuzzel.nix)] # launcher
|
++ [(import ./fuzzel.nix)] # launcher
|
||||||
++ [(import ./gaming.nix)] # packages related to gaming
|
++ [(import ./gaming.nix)] # packages related to gaming
|
||||||
|
@ -22,7 +21,6 @@
|
||||||
++ [(import ./kdeconnect.nix)]
|
++ [(import ./kdeconnect.nix)]
|
||||||
++ [(import ./kitty.nix)] # terminal
|
++ [(import ./kitty.nix)] # terminal
|
||||||
++ [(import ./swaync)] # notification deamon
|
++ [(import ./swaync)] # notification deamon
|
||||||
++ [(import ./matrix.nix)] # Matrix clients
|
|
||||||
++ [(import ./nemo.nix)] # File manager
|
++ [(import ./nemo.nix)] # File manager
|
||||||
++ [(import ./nextcloud.nix)] # nextcloud client
|
++ [(import ./nextcloud.nix)] # nextcloud client
|
||||||
++ [(import ./nvim.nix)] # neovim editor
|
++ [(import ./nvim.nix)] # neovim editor
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
programs.distrobox = {
|
|
||||||
enable = true;
|
|
||||||
enableSystemdUnit = true;
|
|
||||||
containers = {
|
|
||||||
debian13 = {
|
|
||||||
image = "debian:13";
|
|
||||||
entry = false;
|
|
||||||
additional_packages = "git";
|
|
||||||
init_hooks = [
|
|
||||||
"ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker"
|
|
||||||
"ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
kali = {
|
|
||||||
image = "docker.io/kalilinux/kali-rolling:latest";
|
|
||||||
entry = false;
|
|
||||||
init_hooks = [
|
|
||||||
"ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker"
|
|
||||||
"ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [boxbuddy];
|
|
||||||
}
|
|
|
@ -24,12 +24,17 @@
|
||||||
vitetris
|
vitetris
|
||||||
nethack
|
nethack
|
||||||
|
|
||||||
|
## Celeste
|
||||||
|
celeste-classic
|
||||||
|
celeste-classic-pm
|
||||||
|
|
||||||
## Doom
|
## Doom
|
||||||
# gzdoom
|
# gzdoom
|
||||||
crispy-doom
|
crispy-doom
|
||||||
|
|
||||||
## Emulation
|
## Emulation
|
||||||
sameboy
|
sameboy
|
||||||
|
snes9x
|
||||||
cemu
|
cemu
|
||||||
dolphin-emu
|
dolphin-emu
|
||||||
ryujinx
|
ryujinx
|
||||||
|
|
|
@ -4,6 +4,14 @@
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
nerd-fonts.jetbrains-mono
|
||||||
|
nerd-fonts.noto
|
||||||
|
|
||||||
|
twemoji-color-font
|
||||||
|
noto-fonts-emoji
|
||||||
|
roboto
|
||||||
|
];
|
||||||
|
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
298
modules/home/hyprland/config.nix
Normal file
298
modules/home/hyprland/config.nix
Normal file
|
@ -0,0 +1,298 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
settings = {
|
||||||
|
# autostart
|
||||||
|
exec-once = [
|
||||||
|
"uwsm app -- nm-applet"
|
||||||
|
"uwsm app -- wl-clip-persist --clipboard regular"
|
||||||
|
"uwsm app -- bash -c 'if [ ! -f ~/.config/hypr/wallpaper.png ]; then wall-change ~/.config/hypr/default_wallpaper.png; fi'"
|
||||||
|
"uwsm app -- swaybg -m fill -i ~/.config/hypr/wallpaper.png &"
|
||||||
|
"uwsm app -- poweralertd"
|
||||||
|
"uwsm app -- waybar"
|
||||||
|
"uwsm app -- swaync"
|
||||||
|
"uwsm app -- ckb-next -b"
|
||||||
|
"uwsm app -- element-desktop --hidden"
|
||||||
|
];
|
||||||
|
|
||||||
|
input = {
|
||||||
|
kb_layout = "es,us";
|
||||||
|
kb_options = "grp:alt_caps_toggle";
|
||||||
|
numlock_by_default = true;
|
||||||
|
follow_mouse = 1;
|
||||||
|
sensitivity = 0;
|
||||||
|
touchpad = {
|
||||||
|
natural_scroll = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
general = {
|
||||||
|
"$mainMod" = "SUPER";
|
||||||
|
layout = "dwindle";
|
||||||
|
gaps_in = 0;
|
||||||
|
gaps_out = 0;
|
||||||
|
border_size = 2;
|
||||||
|
# "col.active_border" = "rgb(cba6f7) rgb(94e2d5) 45deg";
|
||||||
|
# "col.inactive_border" = "0x00000000";
|
||||||
|
# border_part_of_window = false;
|
||||||
|
no_border_on_floating = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
misc = {
|
||||||
|
disable_autoreload = true;
|
||||||
|
disable_hyprland_logo = true;
|
||||||
|
always_follow_on_dnd = true;
|
||||||
|
layers_hog_keyboard_focus = true;
|
||||||
|
animate_manual_resizes = false;
|
||||||
|
enable_swallow = true;
|
||||||
|
focus_on_activate = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
dwindle = {
|
||||||
|
force_split = 0;
|
||||||
|
special_scale_factor = 1.0;
|
||||||
|
split_width_multiplier = 1.0;
|
||||||
|
use_active_for_splits = true;
|
||||||
|
pseudotile = "yes";
|
||||||
|
preserve_split = "yes";
|
||||||
|
};
|
||||||
|
|
||||||
|
master = {
|
||||||
|
new_status = "master";
|
||||||
|
special_scale_factor = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
rounding = 0;
|
||||||
|
# active_opacity = 0.90;
|
||||||
|
# inactive_opacity = 0.90;
|
||||||
|
# fullscreen_opacity = 1.0;
|
||||||
|
|
||||||
|
blur = {
|
||||||
|
enabled = true;
|
||||||
|
size = 1;
|
||||||
|
passes = 1;
|
||||||
|
# size = 4;
|
||||||
|
# passes = 2;
|
||||||
|
brightness = 1;
|
||||||
|
contrast = 1.400;
|
||||||
|
ignore_opacity = true;
|
||||||
|
noise = 0;
|
||||||
|
new_optimizations = true;
|
||||||
|
xray = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
shadow = {
|
||||||
|
enabled = true;
|
||||||
|
|
||||||
|
ignore_window = true;
|
||||||
|
offset = "0 2";
|
||||||
|
range = 20;
|
||||||
|
render_power = 3;
|
||||||
|
# color = "rgba(00000055)";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
animations = {
|
||||||
|
enabled = true;
|
||||||
|
|
||||||
|
bezier = [
|
||||||
|
"fluent_decel, 0, 0.2, 0.4, 1"
|
||||||
|
"easeOutCirc, 0, 0.55, 0.45, 1"
|
||||||
|
"easeOutCubic, 0.33, 1, 0.68, 1"
|
||||||
|
"easeinoutsine, 0.37, 0, 0.63, 1"
|
||||||
|
];
|
||||||
|
|
||||||
|
animation = [
|
||||||
|
# Windows
|
||||||
|
"windowsIn, 1, 3, easeOutCubic, popin 30%" # window open
|
||||||
|
"windowsOut, 1, 3, fluent_decel, popin 70%" # window close.
|
||||||
|
"windowsMove, 1, 2, easeinoutsine, slide" # everything in between, moving, dragging, resizing.
|
||||||
|
|
||||||
|
# Fade
|
||||||
|
"fadeIn, 1, 3, easeOutCubic" # fade in (open) -> layers and windows
|
||||||
|
"fadeOut, 1, 2, easeOutCubic" # fade out (close) -> layers and windows
|
||||||
|
"fadeSwitch, 0, 1, easeOutCirc" # fade on changing activewindow and its opacity
|
||||||
|
"fadeShadow, 1, 10, easeOutCirc" # fade on changing activewindow for shadows
|
||||||
|
"fadeDim, 1, 4, fluent_decel" # the easing of the dimming of inactive windows
|
||||||
|
"border, 1, 2.7, easeOutCirc" # for animating the border's color switch speed
|
||||||
|
"borderangle, 1, 30, fluent_decel, once" # for animating the border's gradient angle - styles: once (default), loop
|
||||||
|
"workspaces, 1, 4, easeOutCubic, fade" # styles: slide, slidevert, fade, slidefade, slidefadevert
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
bind =
|
||||||
|
[
|
||||||
|
# show keybinds list
|
||||||
|
"$mainMod, F1, exec, show-keybinds"
|
||||||
|
|
||||||
|
# keybindings
|
||||||
|
"$mainMod, Return, exec, uwsm app -- kitty"
|
||||||
|
"ALT, Return, exec, uwsm app -- kitty --title float_kitty"
|
||||||
|
"$mainMod SHIFT, Return, exec, uwsm app -- kitty --start-as=fullscreen -o 'font_size=16'"
|
||||||
|
"$mainMod, B, exec, uwsm app -- librewolf"
|
||||||
|
"$mainMod, N, exec, uwsm app -- swaync-client -t"
|
||||||
|
"$mainMod SHIFT, N, exec, uwsm app -- swaync-client -d"
|
||||||
|
"$mainMod SHIFT, Q, killactive,"
|
||||||
|
"$mainMod, F, fullscreen, 0"
|
||||||
|
"$mainMod SHIFT, F, fullscreen, 1"
|
||||||
|
"$mainMod, Space, togglefloating,"
|
||||||
|
"$mainMod, D, exec, uwsm app -- fuzzel"
|
||||||
|
"$mainMod SHIFT, E, exec, uwsm app -- bemoji -n"
|
||||||
|
"$mainMod, M, exec, uwsm app -- element-desktop"
|
||||||
|
"$mainMod, Y, exec, uwsm app -- kitty spotify_player"
|
||||||
|
"$mainMod, X, exec, uwsm app -- rofi-rbw"
|
||||||
|
"$mainMod, Escape, exec, uwsm app -- loginctl lock-session"
|
||||||
|
"$mainMod SHIFT, Escape, exec, uwsm app -- shutdown-script"
|
||||||
|
"$mainMod, P, pseudo,"
|
||||||
|
"$mainMod SHIFT, P, togglesplit,"
|
||||||
|
"$mainMod, E, exec, uwsm app -- nemo"
|
||||||
|
"$mainMod SHIFT, B, exec, uwsm app -- pkill -SIGUSR1 .waybar-wrapped"
|
||||||
|
"$mainMod, C ,exec, uwsm app -- hyprpicker -a"
|
||||||
|
"$mainMod, W,exec, uwsm app -- wallpaper-picker"
|
||||||
|
|
||||||
|
# screenshot
|
||||||
|
"$mainMod, Print, exec, uwsm app -- screenshot-menu"
|
||||||
|
",Print, exec, uwsm app -- grimblast --notify --freeze copy area"
|
||||||
|
]
|
||||||
|
++ (
|
||||||
|
# workspaces
|
||||||
|
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
|
||||||
|
builtins.concatLists (
|
||||||
|
builtins.genList (
|
||||||
|
x: let
|
||||||
|
ws = let
|
||||||
|
c = (x + 1) / 10;
|
||||||
|
in
|
||||||
|
builtins.toString (x + 1 - (c * 10));
|
||||||
|
in [
|
||||||
|
"$mainMod, ${ws}, workspace, ${toString (x + 1)}"
|
||||||
|
"$mainMod SHIFT, ${ws}, movetoworkspacesilent, ${toString (x + 1)}"
|
||||||
|
]
|
||||||
|
)
|
||||||
|
10
|
||||||
|
)
|
||||||
|
)
|
||||||
|
++ [
|
||||||
|
"$mainMod CTRL, c, workspace, emptynm"
|
||||||
|
"$mainMod SHIFT, c, movetoworkspace, emptynm"
|
||||||
|
]
|
||||||
|
++ (
|
||||||
|
# Window focus, movement and control
|
||||||
|
builtins.concatLists (
|
||||||
|
let
|
||||||
|
keys = ["H" "L" "K" "J"];
|
||||||
|
directions = ["l" "r" "u" "d"];
|
||||||
|
resize = toString 80; # Change this to change how much a window resizes each keypress
|
||||||
|
resize_list = ["-${resize} 0" "${resize} 0" "0 -${resize}" "0 ${resize}"];
|
||||||
|
in
|
||||||
|
builtins.genList (
|
||||||
|
x: let
|
||||||
|
k = builtins.elemAt keys x;
|
||||||
|
d = builtins.elemAt directions x;
|
||||||
|
r = builtins.elemAt resize_list x;
|
||||||
|
in [
|
||||||
|
"$mainMod, ${k}, movefocus, ${d}"
|
||||||
|
"$mainMod SHIFT, ${k}, movewindow, ${d}"
|
||||||
|
"$mainMod CTRL, ${k}, resizeactive, ${r}"
|
||||||
|
"$mainMod ALT, ${k}, moveactive, ${r}"
|
||||||
|
]
|
||||||
|
)
|
||||||
|
4
|
||||||
|
)
|
||||||
|
)
|
||||||
|
++ [
|
||||||
|
"$mainMod, mouse_down, workspace, e-1"
|
||||||
|
"$mainMod, mouse_up, workspace, e+1"
|
||||||
|
|
||||||
|
# laptop brigthness
|
||||||
|
",XF86MonBrightnessUp, exec, brightnessctl set 5%+"
|
||||||
|
",XF86MonBrightnessDown, exec, brightnessctl set 5%-"
|
||||||
|
"$mainMod, XF86MonBrightnessUp, exec, brightnessctl set 100%+"
|
||||||
|
"$mainMod, XF86MonBrightnessDown, exec, brightnessctl set 100%-"
|
||||||
|
|
||||||
|
# clipboard manager
|
||||||
|
"$mainMod, V, exec, cliphist list | fuzzel --dmenu --prompt '📋 ' | cliphist decode | wl-copy"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Bindings that work when locked
|
||||||
|
bindl = [
|
||||||
|
# media and volume controls
|
||||||
|
",XF86AudioRaiseVolume,exec, pamixer -i 2"
|
||||||
|
",XF86AudioLowerVolume,exec, pamixer -d 2"
|
||||||
|
",XF86AudioMute,exec, pamixer -t"
|
||||||
|
",XF86AudioPlay,exec, playerctl play-pause"
|
||||||
|
",XF86AudioNext,exec, playerctl next"
|
||||||
|
",XF86AudioPrev,exec, playerctl previous"
|
||||||
|
",XF86AudioStop, exec, playerctl stop"
|
||||||
|
];
|
||||||
|
|
||||||
|
# mouse binding
|
||||||
|
bindm = [
|
||||||
|
"$mainMod, mouse:272, movewindow"
|
||||||
|
"$mainMod, mouse:273, resizewindow"
|
||||||
|
];
|
||||||
|
|
||||||
|
# windowrule
|
||||||
|
windowrule = [
|
||||||
|
"float,class:vimiv"
|
||||||
|
"center,class:vimiv"
|
||||||
|
"float,class:mpv"
|
||||||
|
"center,class:mpv"
|
||||||
|
"size 1200 725,class:mpv"
|
||||||
|
"float,title:^(float_kitty)$"
|
||||||
|
"center,title:^(float_kitty)$"
|
||||||
|
"size 950 600,title:^(float_kitty)$"
|
||||||
|
"tile, class:neovide"
|
||||||
|
"idleinhibit focus,class:mpv"
|
||||||
|
"float,class:udiskie"
|
||||||
|
"float,title:^(Volume Control)$"
|
||||||
|
"float,title:^(Firefox — Sharing Indicator)$"
|
||||||
|
"move 0 0,title:^(Firefox — Sharing Indicator)$"
|
||||||
|
"size 700 450,title:^(Volume Control)$"
|
||||||
|
"move 40 55%,title:^(Volume Control)$"
|
||||||
|
"float, title:^(Picture-in-Picture)$"
|
||||||
|
"opacity 1.0 override 1.0 override, title:^(Picture-in-Picture)$"
|
||||||
|
"pin, title:^(Picture-in-Picture)$"
|
||||||
|
"opacity 1.0 override 1.0 override, class:(Aseprite)"
|
||||||
|
"opacity 1.0 override 1.0 override, class:(Unity)"
|
||||||
|
"idleinhibit focus, class:^(mpv)$"
|
||||||
|
"idleinhibit fullscreen, class:^(firefox)$"
|
||||||
|
"float,class:^(zenity)$"
|
||||||
|
"center,class:^(zenity)$"
|
||||||
|
"size 850 500,class:^(zenity)$"
|
||||||
|
"float,class:^(pavucontrol)$"
|
||||||
|
"float,class:^(.sameboy-wrapped)$"
|
||||||
|
"float,class:^(file_progress)$"
|
||||||
|
"float,class:^(confirm)$"
|
||||||
|
"float,class:^(dialog)$"
|
||||||
|
"float,class:^(download)$"
|
||||||
|
"float,class:^(notification)$"
|
||||||
|
"float,class:^(error)$"
|
||||||
|
"float,class:^(confirmreset)$"
|
||||||
|
"float,title:^(Open File)$"
|
||||||
|
"float,title:^(branchdialog)$"
|
||||||
|
"float,title:^(Confirm to replace files)$"
|
||||||
|
"float,title:^(File Operation Progress)$"
|
||||||
|
|
||||||
|
"opacity 0.0 override,class:^(xwaylandvideobridge)$"
|
||||||
|
"noanim,class:^(xwaylandvideobridge)$"
|
||||||
|
"noinitialfocus,class:^(xwaylandvideobridge)$"
|
||||||
|
"maxsize 1 1,class:^(xwaylandvideobridge)$"
|
||||||
|
"noblur,class:^(xwaylandvideobridge)$"
|
||||||
|
];
|
||||||
|
|
||||||
|
monitor = [
|
||||||
|
",preferred,auto,1"
|
||||||
|
];
|
||||||
|
|
||||||
|
xwayland = {
|
||||||
|
force_zero_scaling = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
gestures = {
|
||||||
|
workspace_swipe = true;
|
||||||
|
workspace_swipe_direction_lock = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
{...}: {
|
{...}: {
|
||||||
imports =
|
imports =
|
||||||
[(import ./hyprland.nix)]
|
[(import ./hyprland.nix)]
|
||||||
|
++ [(import ./config.nix)]
|
||||||
++ [(import ./hyprlock.nix)]
|
++ [(import ./hyprlock.nix)]
|
||||||
++ [(import ./hypridle.nix)]
|
++ [(import ./hypridle.nix)]
|
||||||
++ [(import ./variables.nix)];
|
++ [(import ./variables.nix)];
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
# swww
|
||||||
swaybg
|
swaybg
|
||||||
inputs.hypr-contrib.packages.${pkgs.system}.grimblast
|
inputs.hypr-contrib.packages.${pkgs.system}.grimblast
|
||||||
hyprpicker
|
hyprpicker
|
||||||
|
@ -14,9 +15,7 @@
|
||||||
glib
|
glib
|
||||||
wayland
|
wayland
|
||||||
];
|
];
|
||||||
|
systemd.user.targets.hyprland-session.Unit.Wants = ["xdg-desktop-autostart.target"];
|
||||||
services.hyprpolkitagent.enable = true;
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xwayland = {
|
xwayland = {
|
||||||
|
@ -25,306 +24,7 @@
|
||||||
};
|
};
|
||||||
# enableNvidiaPatches = false;
|
# enableNvidiaPatches = false;
|
||||||
systemd.enable = false;
|
systemd.enable = false;
|
||||||
|
|
||||||
settings = let
|
|
||||||
app_menu = "${pkgs.fuzzel}/bin/fuzzel";
|
|
||||||
in {
|
|
||||||
# autostart
|
|
||||||
exec-once = [
|
|
||||||
"uwsm app -- nm-applet"
|
|
||||||
"uwsm app -- wl-clip-persist --clipboard regular"
|
|
||||||
"uwsm app -- bash -c 'if [ ! -f ~/.config/hypr/wallpaper.png ]; then wall-change ~/.config/hypr/default_wallpaper.png; fi'"
|
|
||||||
"uwsm app -- swaybg -m fill -i ~/.config/hypr/wallpaper.png &"
|
|
||||||
"uwsm app -- ${pkgs.poweralertd}/bin/poweralertd"
|
|
||||||
"uwsm app -- waybar"
|
|
||||||
"uwsm app -- swaync"
|
|
||||||
"uwsm app -- ckb-next -b"
|
|
||||||
"uwsm app -- element-desktop --hidden"
|
|
||||||
];
|
|
||||||
|
|
||||||
input = {
|
|
||||||
kb_layout = "es,us";
|
|
||||||
kb_options = "grp:alt_caps_toggle";
|
|
||||||
numlock_by_default = true;
|
|
||||||
follow_mouse = 1;
|
|
||||||
sensitivity = 0;
|
|
||||||
touchpad = {
|
|
||||||
natural_scroll = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
general = {
|
services.hyprpolkitagent.enable = true;
|
||||||
"$mainMod" = "SUPER";
|
|
||||||
layout = "dwindle";
|
|
||||||
gaps_in = 0;
|
|
||||||
gaps_out = 0;
|
|
||||||
border_size = 2;
|
|
||||||
# "col.active_border" = "rgb(cba6f7) rgb(94e2d5) 45deg";
|
|
||||||
# "col.inactive_border" = "0x00000000";
|
|
||||||
# border_part_of_window = false;
|
|
||||||
no_border_on_floating = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
misc = {
|
|
||||||
disable_autoreload = true;
|
|
||||||
disable_hyprland_logo = true;
|
|
||||||
always_follow_on_dnd = true;
|
|
||||||
layers_hog_keyboard_focus = true;
|
|
||||||
animate_manual_resizes = false;
|
|
||||||
enable_swallow = true;
|
|
||||||
focus_on_activate = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
dwindle = {
|
|
||||||
force_split = 0;
|
|
||||||
special_scale_factor = 1.0;
|
|
||||||
split_width_multiplier = 1.0;
|
|
||||||
use_active_for_splits = true;
|
|
||||||
pseudotile = "yes";
|
|
||||||
preserve_split = "yes";
|
|
||||||
};
|
|
||||||
|
|
||||||
master = {
|
|
||||||
new_status = "master";
|
|
||||||
special_scale_factor = 1;
|
|
||||||
};
|
|
||||||
|
|
||||||
decoration = {
|
|
||||||
rounding = 0;
|
|
||||||
# active_opacity = 0.90;
|
|
||||||
# inactive_opacity = 0.90;
|
|
||||||
# fullscreen_opacity = 1.0;
|
|
||||||
|
|
||||||
blur = {
|
|
||||||
enabled = true;
|
|
||||||
size = 1;
|
|
||||||
passes = 1;
|
|
||||||
# size = 4;
|
|
||||||
# passes = 2;
|
|
||||||
brightness = 1;
|
|
||||||
contrast = 1.400;
|
|
||||||
ignore_opacity = true;
|
|
||||||
noise = 0;
|
|
||||||
new_optimizations = true;
|
|
||||||
xray = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
shadow = {
|
|
||||||
enabled = true;
|
|
||||||
|
|
||||||
ignore_window = true;
|
|
||||||
offset = "0 2";
|
|
||||||
range = 20;
|
|
||||||
render_power = 3;
|
|
||||||
# color = "rgba(00000055)";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
animations = {
|
|
||||||
enabled = true;
|
|
||||||
|
|
||||||
bezier = [
|
|
||||||
"fluent_decel, 0, 0.2, 0.4, 1"
|
|
||||||
"easeOutCirc, 0, 0.55, 0.45, 1"
|
|
||||||
"easeOutCubic, 0.33, 1, 0.68, 1"
|
|
||||||
"easeinoutsine, 0.37, 0, 0.63, 1"
|
|
||||||
];
|
|
||||||
|
|
||||||
animation = [
|
|
||||||
# Windows
|
|
||||||
"windowsIn, 1, 3, easeOutCubic, popin 30%" # window open
|
|
||||||
"windowsOut, 1, 3, fluent_decel, popin 70%" # window close.
|
|
||||||
"windowsMove, 1, 2, easeinoutsine, slide" # everything in between, moving, dragging, resizing.
|
|
||||||
|
|
||||||
# Fade
|
|
||||||
"fadeIn, 1, 3, easeOutCubic" # fade in (open) -> layers and windows
|
|
||||||
"fadeOut, 1, 2, easeOutCubic" # fade out (close) -> layers and windows
|
|
||||||
"fadeSwitch, 0, 1, easeOutCirc" # fade on changing activewindow and its opacity
|
|
||||||
"fadeShadow, 1, 10, easeOutCirc" # fade on changing activewindow for shadows
|
|
||||||
"fadeDim, 1, 4, fluent_decel" # the easing of the dimming of inactive windows
|
|
||||||
"border, 1, 2.7, easeOutCirc" # for animating the border's color switch speed
|
|
||||||
"borderangle, 1, 30, fluent_decel, once" # for animating the border's gradient angle - styles: once (default), loop
|
|
||||||
"workspaces, 1, 4, easeOutCubic, fade" # styles: slide, slidevert, fade, slidefade, slidefadevert
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
bind =
|
|
||||||
[
|
|
||||||
# show keybinds list
|
|
||||||
"$mainMod, F1, exec, show-keybinds"
|
|
||||||
|
|
||||||
# keybindings
|
|
||||||
"$mainMod, Return, exec, uwsm app -- kitty"
|
|
||||||
"ALT, Return, exec, uwsm app -- kitty --title float_kitty"
|
|
||||||
"$mainMod SHIFT, Return, exec, uwsm app -- kitty --start-as=fullscreen -o 'font_size=16'"
|
|
||||||
"$mainMod, B, exec, uwsm app -- librewolf"
|
|
||||||
"$mainMod, N, exec, uwsm app -- swaync-client -t"
|
|
||||||
"$mainMod SHIFT, N, exec, uwsm app -- swaync-client -d"
|
|
||||||
"$mainMod SHIFT, Q, killactive,"
|
|
||||||
"$mainMod, F, fullscreen, 0"
|
|
||||||
"$mainMod SHIFT, F, fullscreen, 1"
|
|
||||||
"$mainMod, Space, togglefloating,"
|
|
||||||
"$mainMod, D, exec, uwsm app -- ${app_menu}"
|
|
||||||
"$mainMod SHIFT, E, exec, uwsm app -- bemoji -n"
|
|
||||||
"$mainMod, M, exec, uwsm app -- element-desktop"
|
|
||||||
"$mainMod, Y, exec, uwsm app -- kitty spotify_player"
|
|
||||||
"$mainMod, X, exec, uwsm app -- rofi-rbw"
|
|
||||||
"$mainMod, Escape, exec, uwsm app -- loginctl lock-session"
|
|
||||||
"$mainMod SHIFT, Escape, exec, uwsm app -- shutdown-script"
|
|
||||||
"$mainMod, P, pseudo,"
|
|
||||||
"$mainMod SHIFT, P, togglesplit,"
|
|
||||||
"$mainMod, E, exec, uwsm app -- nemo"
|
|
||||||
"$mainMod SHIFT, B, exec, uwsm app -- pkill -SIGUSR1 .waybar-wrapped"
|
|
||||||
"$mainMod, C ,exec, uwsm app -- hyprpicker -a"
|
|
||||||
"$mainMod, W,exec, uwsm app -- wallpaper-picker"
|
|
||||||
|
|
||||||
# screenshot
|
|
||||||
"$mainMod, Print, exec, uwsm app -- screenshot-menu"
|
|
||||||
",Print, exec, uwsm app -- grimblast --notify --freeze copy area"
|
|
||||||
]
|
|
||||||
++ (
|
|
||||||
# workspaces
|
|
||||||
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
|
|
||||||
builtins.concatLists (
|
|
||||||
builtins.genList (
|
|
||||||
x: let
|
|
||||||
ws = let
|
|
||||||
c = (x + 1) / 10;
|
|
||||||
in
|
|
||||||
builtins.toString (x + 1 - (c * 10));
|
|
||||||
in [
|
|
||||||
"$mainMod, ${ws}, workspace, ${toString (x + 1)}"
|
|
||||||
"$mainMod SHIFT, ${ws}, movetoworkspacesilent, ${toString (x + 1)}"
|
|
||||||
]
|
|
||||||
)
|
|
||||||
10
|
|
||||||
)
|
|
||||||
)
|
|
||||||
++ [
|
|
||||||
"$mainMod CTRL, c, workspace, emptynm"
|
|
||||||
"$mainMod SHIFT, c, movetoworkspace, emptynm"
|
|
||||||
]
|
|
||||||
++ (
|
|
||||||
# Window focus, movement and control
|
|
||||||
builtins.concatLists (
|
|
||||||
let
|
|
||||||
keys = ["H" "L" "K" "J"];
|
|
||||||
directions = ["l" "r" "u" "d"];
|
|
||||||
resize = toString 80; # Change this to change how much a window resizes each keypress
|
|
||||||
resize_list = ["-${resize} 0" "${resize} 0" "0 -${resize}" "0 ${resize}"];
|
|
||||||
in
|
|
||||||
builtins.genList (
|
|
||||||
x: let
|
|
||||||
k = builtins.elemAt keys x;
|
|
||||||
d = builtins.elemAt directions x;
|
|
||||||
r = builtins.elemAt resize_list x;
|
|
||||||
in [
|
|
||||||
"$mainMod, ${k}, movefocus, ${d}"
|
|
||||||
"$mainMod SHIFT, ${k}, movewindow, ${d}"
|
|
||||||
"$mainMod CTRL, ${k}, resizeactive, ${r}"
|
|
||||||
"$mainMod ALT, ${k}, moveactive, ${r}"
|
|
||||||
]
|
|
||||||
)
|
|
||||||
4
|
|
||||||
)
|
|
||||||
)
|
|
||||||
++ [
|
|
||||||
"$mainMod, mouse_down, workspace, e-1"
|
|
||||||
"$mainMod, mouse_up, workspace, e+1"
|
|
||||||
|
|
||||||
# laptop brigthness
|
|
||||||
",XF86MonBrightnessUp, exec, brightnessctl set 5%+"
|
|
||||||
",XF86MonBrightnessDown, exec, brightnessctl set 5%-"
|
|
||||||
"$mainMod, XF86MonBrightnessUp, exec, brightnessctl set 100%+"
|
|
||||||
"$mainMod, XF86MonBrightnessDown, exec, brightnessctl set 100%-"
|
|
||||||
|
|
||||||
# clipboard manager
|
|
||||||
"$mainMod, V, exec, cliphist list | fuzzel --dmenu --prompt '📋 ' | cliphist decode | wl-copy"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Bindings that work when locked
|
|
||||||
bindl = [
|
|
||||||
# media and volume controls
|
|
||||||
",XF86AudioRaiseVolume,exec, pamixer -i 2"
|
|
||||||
",XF86AudioLowerVolume,exec, pamixer -d 2"
|
|
||||||
",XF86AudioMute,exec, pamixer -t"
|
|
||||||
",XF86AudioPlay,exec, playerctl play-pause"
|
|
||||||
",XF86AudioNext,exec, playerctl next"
|
|
||||||
",XF86AudioPrev,exec, playerctl previous"
|
|
||||||
",XF86AudioStop, exec, playerctl stop"
|
|
||||||
];
|
|
||||||
|
|
||||||
# mouse binding
|
|
||||||
bindm = [
|
|
||||||
"$mainMod, mouse:272, movewindow"
|
|
||||||
"$mainMod, mouse:273, resizewindow"
|
|
||||||
];
|
|
||||||
|
|
||||||
# windowrule
|
|
||||||
windowrule = [
|
|
||||||
"float,class:vimiv"
|
|
||||||
"center,class:vimiv"
|
|
||||||
"float,class:mpv"
|
|
||||||
"center,class:mpv"
|
|
||||||
"size 1200 725,class:mpv"
|
|
||||||
"float,title:^(float_kitty)$"
|
|
||||||
"center,title:^(float_kitty)$"
|
|
||||||
"size 950 600,title:^(float_kitty)$"
|
|
||||||
"tile, class:neovide"
|
|
||||||
"idleinhibit focus,class:mpv"
|
|
||||||
"float,class:udiskie"
|
|
||||||
"float,title:^(Volume Control)$"
|
|
||||||
"float,title:^(Firefox — Sharing Indicator)$"
|
|
||||||
"move 0 0,title:^(Firefox — Sharing Indicator)$"
|
|
||||||
"size 700 450,title:^(Volume Control)$"
|
|
||||||
"move 40 55%,title:^(Volume Control)$"
|
|
||||||
"float, title:^(Picture-in-Picture)$"
|
|
||||||
"opacity 1.0 override 1.0 override, title:^(Picture-in-Picture)$"
|
|
||||||
"pin, title:^(Picture-in-Picture)$"
|
|
||||||
"opacity 1.0 override 1.0 override, class:(Aseprite)"
|
|
||||||
"opacity 1.0 override 1.0 override, class:(Unity)"
|
|
||||||
"idleinhibit focus, class:^(mpv)$"
|
|
||||||
"idleinhibit fullscreen, class:^(firefox)$"
|
|
||||||
"float,class:^(zenity)$"
|
|
||||||
"center,class:^(zenity)$"
|
|
||||||
"size 850 500,class:^(zenity)$"
|
|
||||||
"float,class:^(pavucontrol)$"
|
|
||||||
"float,class:^(.sameboy-wrapped)$"
|
|
||||||
"float,class:^(file_progress)$"
|
|
||||||
"float,class:^(confirm)$"
|
|
||||||
"float,class:^(dialog)$"
|
|
||||||
"float,class:^(download)$"
|
|
||||||
"float,class:^(notification)$"
|
|
||||||
"float,class:^(error)$"
|
|
||||||
"float,class:^(confirmreset)$"
|
|
||||||
"float,title:^(Open File)$"
|
|
||||||
"float,title:^(branchdialog)$"
|
|
||||||
"float,title:^(Confirm to replace files)$"
|
|
||||||
"float,title:^(File Operation Progress)$"
|
|
||||||
|
|
||||||
"opacity 0.0 override,class:^(xwaylandvideobridge)$"
|
|
||||||
"noanim,class:^(xwaylandvideobridge)$"
|
|
||||||
"noinitialfocus,class:^(xwaylandvideobridge)$"
|
|
||||||
"maxsize 1 1,class:^(xwaylandvideobridge)$"
|
|
||||||
"noblur,class:^(xwaylandvideobridge)$"
|
|
||||||
];
|
|
||||||
|
|
||||||
monitor = [
|
|
||||||
",preferred,auto,1"
|
|
||||||
];
|
|
||||||
|
|
||||||
xwayland = {
|
|
||||||
force_zero_scaling = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
gestures = {
|
|
||||||
workspace_swipe = true;
|
|
||||||
workspace_swipe_direction_lock = false;
|
|
||||||
};
|
|
||||||
ecosystem = {
|
|
||||||
no_update_news = true;
|
|
||||||
no_donation_nag = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
programs.element-desktop.enable = true;
|
|
||||||
home.packages = with pkgs; [fractal];
|
|
||||||
}
|
|
|
@ -17,62 +17,82 @@
|
||||||
}) ["mp4" "x-matroska" "webm"]);
|
}) ["mp4" "x-matroska" "webm"]);
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# CLI utils
|
|
||||||
bitwarden-cli
|
|
||||||
file # Show file information
|
|
||||||
gtrash # rm replacement, put deleted files in system trash
|
|
||||||
imagemagick
|
|
||||||
lazygit # Simple terminal UI for git commands
|
|
||||||
jq # command-line JSON processor
|
|
||||||
nitch # neofetch-like util
|
|
||||||
tdf # cli pdf viewer
|
|
||||||
todo # cli todo list
|
|
||||||
yazi # terminal file manager
|
|
||||||
yt-dlp
|
|
||||||
wtype # xdotool type for wayland
|
|
||||||
caligula # TUI for disk imaging
|
|
||||||
ffmpeg
|
|
||||||
killall
|
|
||||||
man-pages # extra man pages
|
|
||||||
openssl
|
|
||||||
pamixer # pulseaudio command line mixer
|
|
||||||
playerctl # controller for media players
|
|
||||||
wl-clipboard # clipboard utils for wayland (wl-copy, wl-paste)
|
|
||||||
unzip
|
|
||||||
wget
|
|
||||||
usbutils
|
|
||||||
gotify-cli
|
|
||||||
|
|
||||||
#GUI Utils
|
|
||||||
file-roller # Archive manager
|
|
||||||
wdisplays # Configuring displays in Wayland compositors
|
|
||||||
bemoji # emoji picker
|
bemoji # emoji picker
|
||||||
pavucontrol # pulseaudio volume controle (GUI)
|
bitwise # cli tool for bit / hex manipulation
|
||||||
|
bitwarden-cli
|
||||||
# GUI Apps
|
distrobox
|
||||||
|
boxbuddy
|
||||||
evince # gnome pdf viewer
|
evince # gnome pdf viewer
|
||||||
|
eza # cool ls
|
||||||
|
element-desktop # Matrix client
|
||||||
|
fd # find replacement
|
||||||
|
file # Show file information
|
||||||
|
file-roller # Archive manager
|
||||||
freetube # YouTube client
|
freetube # YouTube client
|
||||||
thunderbird
|
fzf # fuzzy finder
|
||||||
vlc
|
|
||||||
mpv # video player
|
|
||||||
xournalpp # For notes and pdf editing
|
|
||||||
qbittorrent # torrent client
|
|
||||||
speedcrunch # Fast power user calculator
|
|
||||||
simple-scan
|
|
||||||
orca-slicer
|
|
||||||
kdePackages.okular # KDE's pdf viewer/editor (supports digital signing)
|
|
||||||
inkscape
|
|
||||||
kdePackages.kleopatra # GPG GUI
|
|
||||||
gimp
|
gimp
|
||||||
gnome-text-editor
|
gnome-text-editor
|
||||||
gparted # partition manager
|
gtrash # rm replacement, put deleted files in system trash
|
||||||
vimiv-qt # Image viewer, vim-like
|
imagemagick
|
||||||
|
inkscape
|
||||||
|
kdePackages.kleopatra # Gpg GUI
|
||||||
|
lazygit
|
||||||
|
jq
|
||||||
|
nitch # systhem fetch util
|
||||||
|
nix-prefetch-github
|
||||||
|
kdePackages.okular # KDE's pdf viewer/editor (supports digital signing)
|
||||||
|
simple-scan
|
||||||
|
orca-slicer
|
||||||
|
tdf # cli pdf viewer
|
||||||
|
speedcrunch
|
||||||
|
thunderbird
|
||||||
|
todo # cli todo list
|
||||||
|
toipe # typing test in the terminal
|
||||||
|
transmission_4-gtk # torrent client
|
||||||
|
vlc
|
||||||
|
xournalpp # For notes and pdf editing
|
||||||
|
yazi # terminal file manager
|
||||||
|
yt-dlp
|
||||||
|
zenity
|
||||||
|
wdisplays
|
||||||
|
wireguard-tools
|
||||||
|
wtype
|
||||||
|
|
||||||
# Wine stuff
|
# Wine stuff
|
||||||
winetricks
|
winetricks
|
||||||
wineWowPackages.wayland
|
wineWowPackages.wayland
|
||||||
bottles
|
bottles
|
||||||
|
|
||||||
|
# C / C++
|
||||||
|
gcc
|
||||||
|
gnumake
|
||||||
|
|
||||||
|
# Python
|
||||||
|
python3
|
||||||
|
|
||||||
|
cmatrix
|
||||||
|
caligula
|
||||||
|
gparted # partition manager
|
||||||
|
ffmpeg
|
||||||
|
vimiv-qt # Image viewer, vim-like
|
||||||
|
killall
|
||||||
|
libnotify
|
||||||
|
man-pages # extra man pages
|
||||||
|
mpv # video player
|
||||||
|
openssl
|
||||||
|
pamixer # pulseaudio command line mixer
|
||||||
|
pavucontrol # pulseaudio volume controle (GUI)
|
||||||
|
playerctl # controller for media players
|
||||||
|
wl-clipboard # clipboard utils for wayland (wl-copy, wl-paste)
|
||||||
|
poweralertd
|
||||||
|
qalculate-gtk # calculator
|
||||||
|
unzip
|
||||||
|
wget
|
||||||
|
xdg-utils
|
||||||
|
xxd
|
||||||
|
alejandra
|
||||||
|
usbutils
|
||||||
|
|
||||||
# VPN
|
# VPN
|
||||||
wireguard-tools
|
wireguard-tools
|
||||||
openconnect
|
openconnect
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
fceumm
|
fceumm
|
||||||
gambatte
|
gambatte
|
||||||
mgba
|
mgba
|
||||||
|
snes9x
|
||||||
]))
|
]))
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,8 @@
|
||||||
# python
|
# python
|
||||||
ms-python.python
|
ms-python.python
|
||||||
ms-python.black-formatter
|
ms-python.black-formatter
|
||||||
|
# C/C++
|
||||||
|
ms-vscode.cpptools
|
||||||
# OCaml
|
# OCaml
|
||||||
ocamllabs.ocaml-platform
|
ocamllabs.ocaml-platform
|
||||||
# CMake
|
# CMake
|
||||||
|
|
|
@ -5,26 +5,36 @@
|
||||||
host,
|
host,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = with pkgs; [fzf git];
|
|
||||||
|
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
autosuggestion.enable = true;
|
autosuggestion.enable = true;
|
||||||
syntaxHighlighting.enable = true;
|
syntaxHighlighting.enable = true;
|
||||||
|
|
||||||
oh-my-zsh = {
|
oh-my-zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = ["git" "fzf"];
|
plugins = ["git" "fzf"];
|
||||||
};
|
};
|
||||||
|
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
|
# record = "wf-recorder --audio=alsa_output.pci-0000_08_00.6.analog-stereo.monitor -f $HOME/Videos/$(date +'%Y%m%d%H%M%S_1.mp4')";
|
||||||
|
|
||||||
# Utils
|
# Utils
|
||||||
c = "clear";
|
c = "clear";
|
||||||
cd = "z";
|
cd = "z";
|
||||||
tt = "gtrash put";
|
tt = "gtrash put";
|
||||||
|
cat = "bat";
|
||||||
|
nano = "micro";
|
||||||
|
code = "codium";
|
||||||
|
py = "python";
|
||||||
icat = "kitten icat";
|
icat = "kitten icat";
|
||||||
|
dsize = "du -hs";
|
||||||
|
findw = "grep -rl";
|
||||||
|
pdf = "tdf";
|
||||||
open = "xdg-open";
|
open = "xdg-open";
|
||||||
|
find = "fd";
|
||||||
|
|
||||||
|
l = "eza --icons -a --group-directories-first -1"; #EZA_ICON_SPACING=2
|
||||||
|
ll = "eza --icons -a --group-directories-first -1 --no-user --long";
|
||||||
|
tree = "eza --icons --tree --group-directories-first";
|
||||||
|
|
||||||
# Nixos
|
# Nixos
|
||||||
cdnix = "cd ~/nixos-config && codium ~/nixos-config";
|
cdnix = "cd ~/nixos-config && codium ~/nixos-config";
|
||||||
|
@ -61,7 +71,8 @@
|
||||||
|
|
||||||
# ssh
|
# ssh
|
||||||
s = "kitten ssh";
|
s = "kitten ssh";
|
||||||
kssh = "kitten ssh";
|
ssh = "kitten ssh";
|
||||||
|
ossh = "ssh";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue