Compare commits
10 commits
d6342c26b8
...
6b04ee0259
Author | SHA1 | Date | |
---|---|---|---|
|
6b04ee0259 | ||
|
0153b47408 | ||
|
9385849afd | ||
|
88abf3ed4d | ||
|
c8f469b6d5 | ||
|
696bba168f | ||
|
b77f7c03cf | ||
|
b3acf11a31 | ||
|
7cd8e7e6df | ||
|
b6bd125191 |
|
@ -37,7 +37,6 @@
|
||||||
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,5 +11,4 @@
|
||||||
};
|
};
|
||||||
efi.canTouchEfiVariables = lib.mkDefault true;
|
efi.canTouchEfiVariables = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
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,5 +1,15 @@
|
||||||
{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,9 +1,8 @@
|
||||||
{...}: {
|
{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;
|
||||||
|
@ -13,8 +12,6 @@
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
services.logind.extraConfig = ''
|
|
||||||
# don’t shutdown when power button is short-pressed
|
environment.systemPackages = [pkgs.libsecret];
|
||||||
HandlePowerKey=ignore
|
|
||||||
'';
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,13 +5,10 @@
|
||||||
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;
|
||||||
|
@ -19,27 +16,15 @@
|
||||||
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,6 +39,7 @@
|
||||||
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";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
{
|
|
||||||
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,7 +11,8 @@
|
||||||
++ [(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)] # discord with catppuccin theme
|
++ [(import ./discord.nix)]
|
||||||
|
++ [(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
|
||||||
|
@ -21,6 +22,7 @@
|
||||||
++ [(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
|
||||||
|
|
28
modules/home/distrobox.nix
Normal file
28
modules/home/distrobox.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{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,17 +24,12 @@
|
||||||
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,14 +4,6 @@
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
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;
|
||||||
|
|
|
@ -1,298 +0,0 @@
|
||||||
{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,7 +1,6 @@
|
||||||
{...}: {
|
{...}: {
|
||||||
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,7 +4,6 @@
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
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
|
||||||
|
@ -15,7 +14,9 @@
|
||||||
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 = {
|
||||||
|
@ -24,7 +25,306 @@
|
||||||
};
|
};
|
||||||
# enableNvidiaPatches = false;
|
# enableNvidiaPatches = false;
|
||||||
systemd.enable = false;
|
systemd.enable = false;
|
||||||
};
|
|
||||||
|
|
||||||
services.hyprpolkitagent.enable = true;
|
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 = {
|
||||||
|
"$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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
4
modules/home/matrix.nix
Normal file
4
modules/home/matrix.nix
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
programs.element-desktop.enable = true;
|
||||||
|
home.packages = with pkgs; [fractal];
|
||||||
|
}
|
|
@ -17,82 +17,62 @@
|
||||||
}) ["mp4" "x-matroska" "webm"]);
|
}) ["mp4" "x-matroska" "webm"]);
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
bemoji # emoji picker
|
# CLI utils
|
||||||
bitwise # cli tool for bit / hex manipulation
|
|
||||||
bitwarden-cli
|
bitwarden-cli
|
||||||
distrobox
|
|
||||||
boxbuddy
|
|
||||||
evince # gnome pdf viewer
|
|
||||||
eza # cool ls
|
|
||||||
element-desktop # Matrix client
|
|
||||||
fd # find replacement
|
|
||||||
file # Show file information
|
file # Show file information
|
||||||
file-roller # Archive manager
|
|
||||||
freetube # YouTube client
|
|
||||||
fzf # fuzzy finder
|
|
||||||
gimp
|
|
||||||
gnome-text-editor
|
|
||||||
gtrash # rm replacement, put deleted files in system trash
|
gtrash # rm replacement, put deleted files in system trash
|
||||||
imagemagick
|
imagemagick
|
||||||
inkscape
|
lazygit # Simple terminal UI for git commands
|
||||||
kdePackages.kleopatra # Gpg GUI
|
jq # command-line JSON processor
|
||||||
lazygit
|
nitch # neofetch-like util
|
||||||
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
|
tdf # cli pdf viewer
|
||||||
speedcrunch
|
|
||||||
thunderbird
|
|
||||||
todo # cli todo list
|
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
|
yazi # terminal file manager
|
||||||
yt-dlp
|
yt-dlp
|
||||||
zenity
|
wtype # xdotool type for wayland
|
||||||
wdisplays
|
caligula # TUI for disk imaging
|
||||||
wireguard-tools
|
ffmpeg
|
||||||
wtype
|
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
|
||||||
|
pavucontrol # pulseaudio volume controle (GUI)
|
||||||
|
|
||||||
|
# GUI Apps
|
||||||
|
evince # gnome pdf viewer
|
||||||
|
freetube # YouTube client
|
||||||
|
thunderbird
|
||||||
|
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
|
||||||
|
gnome-text-editor
|
||||||
|
gparted # partition manager
|
||||||
|
vimiv-qt # Image viewer, vim-like
|
||||||
|
|
||||||
# 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,7 +5,6 @@
|
||||||
fceumm
|
fceumm
|
||||||
gambatte
|
gambatte
|
||||||
mgba
|
mgba
|
||||||
snes9x
|
|
||||||
]))
|
]))
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,9 +14,7 @@
|
||||||
# python
|
# python
|
||||||
ms-python.python
|
ms-python.python
|
||||||
ms-python.black-formatter
|
ms-python.black-formatter
|
||||||
# C/C++
|
# OCaml
|
||||||
ms-vscode.cpptools
|
|
||||||
# OCaml
|
|
||||||
ocamllabs.ocaml-platform
|
ocamllabs.ocaml-platform
|
||||||
# CMake
|
# CMake
|
||||||
ms-vscode.cmake-tools
|
ms-vscode.cmake-tools
|
||||||
|
|
|
@ -5,36 +5,26 @@
|
||||||
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 = {
|
|
||||||
# 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')";
|
|
||||||
|
|
||||||
|
shellAliases = {
|
||||||
# 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";
|
||||||
|
@ -71,8 +61,7 @@
|
||||||
|
|
||||||
# ssh
|
# ssh
|
||||||
s = "kitten ssh";
|
s = "kitten ssh";
|
||||||
ssh = "kitten ssh";
|
kssh = "kitten ssh";
|
||||||
ossh = "ssh";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue