Begin rewrite
This commit is contained in:
parent
fb5d4d46f8
commit
bc6d1e6984
97 changed files with 328 additions and 3101 deletions
|
@ -1,19 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.persistence."/nix/persist".users.hu.directories = [
|
||||
".config/Signal"
|
||||
".config/vesktop"
|
||||
".config/tutanota-desktop"
|
||||
".config/tuta_integration"
|
||||
".config/Element"
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
tutanota-desktop
|
||||
signal-desktop
|
||||
element-desktop
|
||||
vesktop
|
||||
];
|
||||
}
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
{ pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
environment.persistence."/nix/persist".users.hu.directories = [
|
||||
".steam"
|
||||
".local/share/Steam"
|
||||
".local/share/honkers-railway-launcher"
|
||||
".local/share/anime-game-launcher"
|
||||
".local/share/PrismLauncher"
|
||||
".xlcore"
|
||||
".local/share/Euro Truck Simulator 2"
|
||||
".local/share/osu"
|
||||
".local/share/Colossal Order"
|
||||
];
|
||||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = false;
|
||||
dedicatedServer.openFirewall = true;
|
||||
gamescopeSession.enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
prismlauncher
|
||||
protonup-qt
|
||||
osu-lazer-bin
|
||||
protontricks
|
||||
];
|
||||
|
||||
imports = [ inputs.aagl.nixosModules.default ];
|
||||
nix.settings = inputs.aagl.nixConfig;
|
||||
|
||||
programs.anime-game-launcher.enable = true;
|
||||
}
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.persistence."/nix/persist".users.hu.directories = [
|
||||
".config/OpenTabletDriver"
|
||||
".config/tidal-hifi"
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
mpv
|
||||
imagemagick
|
||||
ffmpeg-full
|
||||
yt-dlp
|
||||
(pkgs.symlinkJoin {
|
||||
name = "flowblade";
|
||||
paths = [ pkgs.flowblade ];
|
||||
buildInputs = [ pkgs.makeWrapper ];
|
||||
postBuild = ''
|
||||
rm "$out/bin/flowblade"
|
||||
echo "#!/bin/sh" > "$out/bin/flowblade"
|
||||
echo "SDL12COMPAT_NO_QUIT_VIDEO=1 \
|
||||
GDK_BACKEND=x11 \
|
||||
SDL_VIDEODRIVER=x11 \
|
||||
${pkgs.flowblade}/bin/flowblade" >> "$out/bin/flowblade"
|
||||
chmod 555 "$out/bin/flowblade"
|
||||
'';
|
||||
})
|
||||
gimp
|
||||
inkscape
|
||||
krita
|
||||
tidal-hifi
|
||||
blender
|
||||
obs-studio
|
||||
];
|
||||
|
||||
# hardware.opentabletdriver = {
|
||||
# enable = true;
|
||||
# daemon.enable = true;
|
||||
# };
|
||||
}
|
||||
|
|
@ -1,218 +0,0 @@
|
|||
{ pkgs, ...}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../../system/fonts.nix
|
||||
../../packages/waybar.nix
|
||||
../../packages/rofi.nix
|
||||
../../packages/foot.nix
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
hyprpaper
|
||||
rofi-wayland
|
||||
foot
|
||||
wl-clipboard
|
||||
nautilus
|
||||
pavucontrol
|
||||
nvidia-vaapi-driver
|
||||
];
|
||||
|
||||
environment.sessionVariables = {
|
||||
LIBVA_DRIVER_NAME = "nvidia";
|
||||
XDG_SESSION_TYPE = "wayland";
|
||||
GBM_BACKEND = "nvidia-drm";
|
||||
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||
NVD_BACKEND = "direct";
|
||||
MOZ_DISABLE_RDD_SANDBOX = 1;
|
||||
NIXOS_OZONE_WL = 1;
|
||||
};
|
||||
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
security.pam.services.greetd.enableGnomeKeyring = true;
|
||||
|
||||
systemd.services.greetd.serviceConfig = {
|
||||
Type = "idle";
|
||||
StandardInput = "tty";
|
||||
StandardOutput = "tty";
|
||||
StandardError = "journal";
|
||||
TTYReset = true;
|
||||
TTYHangup = true;
|
||||
TTYVTDisallocate = true;
|
||||
};
|
||||
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --asterisks --cmd hyprland";
|
||||
user = "greeter";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
|
||||
home-manager.users.hu = {
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
name = "Bibata-Modern-Classic";
|
||||
package = pkgs.bibata-cursors;
|
||||
size = 24;
|
||||
};
|
||||
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
};
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "adw-gtk3-dark";
|
||||
package = pkgs.adw-gtk3;
|
||||
};
|
||||
|
||||
iconTheme = {
|
||||
name = "Adwaita";
|
||||
package = pkgs.adwaita-icon-theme;
|
||||
};
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "adwaita";
|
||||
style = {
|
||||
name = "adwaita-dark";
|
||||
package = pkgs.adwaita-qt;
|
||||
};
|
||||
};
|
||||
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
ipc = "on";
|
||||
splash = false;
|
||||
preload = [
|
||||
"/nix/config/assets/wallpapers/hyprland.jpg"
|
||||
];
|
||||
wallpaper = [
|
||||
",/nix/config/wallpapers/hyprland.jpg"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
systemd = {
|
||||
enable = true;
|
||||
variables = [ "--all" ];
|
||||
};
|
||||
|
||||
settings = {
|
||||
"$mod" = "SUPER";
|
||||
"$terminal" = "foot";
|
||||
"$menu" = "rofi -show drun";
|
||||
|
||||
monitor = "DP-1,1920x1080@144,auto,1";
|
||||
|
||||
cursor = {
|
||||
no_hardware_cursors = true;
|
||||
};
|
||||
|
||||
render = {
|
||||
explicit_sync = 0;
|
||||
};
|
||||
|
||||
input = {
|
||||
kb_layout = "gb:intl";
|
||||
follow_mouse = 1;
|
||||
};
|
||||
|
||||
general = {
|
||||
gaps_in = 3;
|
||||
gaps_out = 6;
|
||||
border_size = 2;
|
||||
layout = "master";
|
||||
allow_tearing = true;
|
||||
"col.inactive_border" = "rgb(242424)";
|
||||
"col.active_border" = "rgb(3584E4)";
|
||||
};
|
||||
|
||||
master = {
|
||||
mfact = 0.5;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 5;
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 4;
|
||||
passes = 1;
|
||||
};
|
||||
};
|
||||
|
||||
bindm = [
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, resizewindow"
|
||||
];
|
||||
|
||||
bind = [
|
||||
"$mod, P, exec, $menu"
|
||||
"$mod, RETURN, exec, $terminal"
|
||||
", Scroll_Lock, exec, pavucontrol"
|
||||
"$mod, f, exec, nautilus"
|
||||
|
||||
", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%-"
|
||||
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+"
|
||||
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||
", Pause, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
|
||||
|
||||
"$mod SHIFT, C, killactive"
|
||||
"$mod, SPACE, togglefloating"
|
||||
"$mod SHIFT, M, exit,"
|
||||
|
||||
"$mod SHIFT, RETURN, layoutmsg, swapwithmaster"
|
||||
"$mod SHIFT, h, layoutmsg, mfact -0.05"
|
||||
"$mod SHIFT, l, layoutmsg, mfact +0.05"
|
||||
|
||||
"$mod, h, movefocus, l"
|
||||
"$mod, j, movefocus, d"
|
||||
"$mod, k, movefocus, u"
|
||||
"$mod, l, movefocus, r"
|
||||
|
||||
"$mod, 1, workspace, 1"
|
||||
"$mod, 2, workspace, 2"
|
||||
"$mod, 3, workspace, 3"
|
||||
"$mod, 4, workspace, 4"
|
||||
"$mod, 5, workspace, 5"
|
||||
"$mod, 6, workspace, 6"
|
||||
"$mod, 7, workspace, 7"
|
||||
"$mod, 8, workspace, 8"
|
||||
"$mod, 9, workspace, 9"
|
||||
|
||||
"$mod SHIFT, 1, movetoworkspace, 1"
|
||||
"$mod SHIFT, 2, movetoworkspace, 2"
|
||||
"$mod SHIFT, 3, movetoworkspace, 3"
|
||||
"$mod SHIFT, 4, movetoworkspace, 4"
|
||||
"$mod SHIFT, 5, movetoworkspace, 5"
|
||||
"$mod SHIFT, 6, movetoworkspace, 6"
|
||||
"$mod SHIFT, 7, movetoworkspace, 7"
|
||||
"$mod SHIFT, 8, movetoworkspace, 8"
|
||||
"$mod SHIFT, 9, movetoworkspace, 9"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,209 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
sddm-background-drv = pkgs.stdenvNoCC.mkDerivation {
|
||||
name = "sddm-background-drv";
|
||||
src = ../../../assets/wallpapers;
|
||||
dontUnpack = true;
|
||||
installPhase = ''
|
||||
cp $src/kde.png $out
|
||||
'';
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
../../system/fonts.nix
|
||||
];
|
||||
|
||||
environment.persistence."/nix/persist".directories = [
|
||||
"/var/lib/AccountsService/"
|
||||
];
|
||||
|
||||
environment.persistence."/nix/persist".users.hu.directories = [
|
||||
".local/share/kwalletd"
|
||||
".local/share/baloo"
|
||||
".local/share/dolphin"
|
||||
];
|
||||
|
||||
environment.persistence."/nix/persist".users.hu.files = [
|
||||
".config/kwinoutputconfig.json" # https://github.com/nix-community/plasma-manager/issues/172
|
||||
".local/state/konsolestaterc"
|
||||
];
|
||||
|
||||
networking.networkmanager.enable = true;
|
||||
users.users.hu.extraGroups = [ "networkmanager" ];
|
||||
|
||||
environment.sessionVariables = {
|
||||
LIBVA_DRIVER_NAME = "nvidia";
|
||||
XDG_SESSION_TYPE = "wayland";
|
||||
GBM_BACKEND = "nvidia-drm";
|
||||
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||
NVD_BACKEND = "direct";
|
||||
NIXOS_OZONE_WL = 1;
|
||||
};
|
||||
|
||||
services.desktopManager.plasma6.enable = true;
|
||||
services.displayManager.sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
};
|
||||
|
||||
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
||||
plasma-browser-integration
|
||||
khelpcenter
|
||||
krdp
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
nvidia-vaapi-driver
|
||||
kdePackages.sddm-kcm
|
||||
(pkgs.writeTextDir "share/sddm/themes/breeze/theme.conf.user" ''
|
||||
[General]
|
||||
background=${sddm-background-drv}
|
||||
'')
|
||||
networkmanager-openvpn
|
||||
wl-clipboard
|
||||
];
|
||||
|
||||
home-manager.users.hu = {
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
};
|
||||
};
|
||||
|
||||
gtk = {
|
||||
gtk2.configLocation = "/home/hu/.config/gtk-2.0/gtkrc";
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Breeze";
|
||||
package = pkgs.kdePackages.breeze-gtk;
|
||||
};
|
||||
};
|
||||
|
||||
programs.konsole = {
|
||||
enable = true;
|
||||
defaultProfile = "custom";
|
||||
customColorSchemes = {
|
||||
"custom" = ../../packages/konsole/custom.colorscheme;
|
||||
};
|
||||
profiles = {
|
||||
custom = {
|
||||
name = "custom";
|
||||
colorScheme = "custom";
|
||||
font = {
|
||||
name = "Go Mono Nerd Font";
|
||||
size = 12;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.plasma = {
|
||||
enable = true;
|
||||
workspace = {
|
||||
lookAndFeel = "org.kde.breezedark.desktop";
|
||||
wallpaper = "/nix/config/assets/wallpapers/kde.png";
|
||||
};
|
||||
|
||||
panels = [
|
||||
{
|
||||
location = "left";
|
||||
floating = true;
|
||||
widgets = [
|
||||
{
|
||||
kickoff = {
|
||||
icon = "nix-snowflake-white";
|
||||
};
|
||||
}
|
||||
{
|
||||
iconTasks = {
|
||||
launchers = [
|
||||
"applications:org.kde.dolphin.desktop"
|
||||
"applications:org.kde.konsole.desktop"
|
||||
"applications:firefox-esr.desktop"
|
||||
];
|
||||
};
|
||||
}
|
||||
"org.kde.plasma.marginsseparator"
|
||||
{
|
||||
systemTray = {
|
||||
icons = {
|
||||
spacing = "small";
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
digitalClock = {
|
||||
calendar.firstDayOfWeek = "monday";
|
||||
time.format = "24h";
|
||||
date.enable = false;
|
||||
};
|
||||
}
|
||||
"org.kde.plasma.pager"
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
powerdevil = {
|
||||
AC = {
|
||||
autoSuspend.action = "nothing";
|
||||
dimDisplay.enable = false;
|
||||
powerButtonAction = "hibernate";
|
||||
};
|
||||
};
|
||||
|
||||
shortcuts = {
|
||||
kwin = {
|
||||
"Switch to Desktop 1" = "Meta+1";
|
||||
"Switch to Desktop 2" = "Meta+2";
|
||||
"Switch to Desktop 3" = "Meta+3";
|
||||
"Switch to Desktop 4" = "Meta+4";
|
||||
"Switch to Desktop 5" = "Meta+5";
|
||||
"Switch to Desktop 6" = "Meta+6";
|
||||
"Switch to Desktop 7" = "Meta+7";
|
||||
"Switch to Desktop 8" = "Meta+8";
|
||||
"Switch to Desktop 9" = "Meta+9";
|
||||
|
||||
# Don't blame me for this. This is all the doing of kwin.
|
||||
# You're going to have to adjust this to your layout.
|
||||
"Window to Desktop 1" = "Meta+!";
|
||||
"Window to Desktop 2" = "Meta+\"";
|
||||
"Window to Desktop 3" = "Meta+£";
|
||||
"Window to Desktop 4" = "Meta+$";
|
||||
"Window to Desktop 5" = "Meta+%";
|
||||
"Window to Desktop 6" = "Meta+^";
|
||||
"Window to Desktop 7" = "Meta+&";
|
||||
"Window to Desktop 8" = "Meta+*";
|
||||
"Window to Desktop 9" = "Meta+(";
|
||||
};
|
||||
};
|
||||
|
||||
configFile = {
|
||||
kwinrc = {
|
||||
Desktops = {
|
||||
Number = {
|
||||
value = 9;
|
||||
};
|
||||
Rows = {
|
||||
value = 3;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
plasmaashellrc = {
|
||||
PlasmaViews = {
|
||||
panelOpacity = 2;
|
||||
};
|
||||
};
|
||||
|
||||
kxkbrc = {
|
||||
Layout = {
|
||||
LayoutList = "gb";
|
||||
Use = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,305 +0,0 @@
|
|||
{ pkgs, ...}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../../system/fonts.nix
|
||||
../../packages/foot.nix
|
||||
];
|
||||
|
||||
nixpkgs.overlays = [
|
||||
(final: prev: {
|
||||
sandbar = prev.sandbar.overrideAttrs (old: {
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "kolunmi";
|
||||
repo = "sandbar";
|
||||
rev = "e64a8b788d086cdf4ec44b51e62bdc7b6b5f8165";
|
||||
hash = "sha256-dNYYlm5CEdnvLjskrPJgquptIQpYgU+gxOu+bt+7sbw=";
|
||||
};
|
||||
});
|
||||
})
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
foot # to be replaced with ghostty
|
||||
wl-clipboard
|
||||
sandbar
|
||||
pamixer
|
||||
pavucontrol
|
||||
tofi
|
||||
swaybg
|
||||
fnott
|
||||
slurp
|
||||
wf-recorder
|
||||
grim
|
||||
libnotify
|
||||
seahorse
|
||||
];
|
||||
|
||||
environment.sessionVariables = {
|
||||
NIXOS_OZONE_WL = 1;
|
||||
};
|
||||
|
||||
programs.river.enable = true;
|
||||
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
security.pam.services.greetd.enableGnomeKeyring = true;
|
||||
|
||||
systemd.services.greetd.serviceConfig = {
|
||||
Type = "idle";
|
||||
StandardInput = "tty";
|
||||
StandardOutput = "tty";
|
||||
StandardError = "journal";
|
||||
TTYReset = true;
|
||||
TTYHangup = true;
|
||||
TTYVTDisallocate = true;
|
||||
};
|
||||
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --asterisks --cmd river";
|
||||
user = "greeter";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
|
||||
home-manager.users.hu = {
|
||||
home.file."/home/hu/.config/tofi/config" = {
|
||||
text = ''
|
||||
width = 100%
|
||||
height = 100%
|
||||
border-width = 0
|
||||
outline-width = 0
|
||||
padding-left = 35%
|
||||
padding-top = 35%
|
||||
result-spacing = 25
|
||||
num-results = 5
|
||||
font = Go Mono Nerd Font
|
||||
background-color = #000A
|
||||
'';
|
||||
};
|
||||
|
||||
home.file."/home/hu/.config/river/bar" = {
|
||||
text = ''
|
||||
#!/usr/bin/env sh
|
||||
|
||||
FIFO="$XDG_RUNTIME_DIR/sandbar"
|
||||
[ -e "$FIFO" ] && rm -f "$FIFO"
|
||||
mkfifo "$FIFO"
|
||||
|
||||
while cat "$FIFO"; do :; done | sandbar \
|
||||
-hide-normal-mode \
|
||||
-no-layout \
|
||||
-font "Go Mono Nerd Font:12" \
|
||||
-active-fg-color "#bbbbbb" \
|
||||
-active-bg-color "#222222" \
|
||||
-inactive-fg-color "#888888" \
|
||||
-inactive-bg-color "#111111" \
|
||||
-urgent-fg-color "#ab5656" \
|
||||
-title-fg-color "#bbbbbb" \
|
||||
-title-bg-color "#222222"
|
||||
'';
|
||||
executable = true;
|
||||
};
|
||||
|
||||
home.file."/home/hu/.config/river/status" = {
|
||||
text = ''
|
||||
#!/usr/bin/env sh
|
||||
|
||||
FIFO="$XDG_RUNTIME_DIR/sandbar"
|
||||
[ -e "$FIFO" ] || mkfifo "$FIFO"
|
||||
|
||||
bat () {
|
||||
read -r bat_status < /sys/class/power_supply/BAT0/status
|
||||
read -r bat_capacity < /sys/class/power_supply/BAT0/capacity
|
||||
case "$bat_status" in
|
||||
"Charging")
|
||||
bat_status=""
|
||||
;;
|
||||
"Discharging")
|
||||
bat_status=""
|
||||
;;
|
||||
"Full")
|
||||
bat_status=""
|
||||
;;
|
||||
"Not charging")
|
||||
bat_status=""
|
||||
;;
|
||||
"Empty")
|
||||
bat_status=""
|
||||
;;
|
||||
|
||||
esac
|
||||
bat="[$bat_status $bat_capacity]"
|
||||
}
|
||||
|
||||
datetime () {
|
||||
dat="[$(date "+%H:%M")]"
|
||||
}
|
||||
|
||||
while true; do
|
||||
if [ -d /sys/class/power_supply/BAT0/ ]; then
|
||||
bat
|
||||
fi
|
||||
datetime
|
||||
|
||||
echo "all status $bat$dat" > "$FIFO"
|
||||
sleep 20
|
||||
done
|
||||
'';
|
||||
executable = true;
|
||||
};
|
||||
|
||||
wayland.windowManager.river = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
settings = {
|
||||
map.normal = {
|
||||
"Super+Shift Return" = "spawn foot";
|
||||
"Super+Shift C" = "close";
|
||||
"Super J" = "focus-view next";
|
||||
"Super K"= "focus-view previous";
|
||||
"Super+Shift J" = "swap next";
|
||||
"Super+Shift K" = "swap previous";
|
||||
"Super Space" = "toggle-float";
|
||||
"Super+Shift R" = "spawn ~/.config/river/init";
|
||||
"Super+Shift Q" = "exit";
|
||||
"Super H" = "send-layout-cmd rivertile 'main-ratio -0.05'";
|
||||
"Super L" = "send-layout-cmd rivertile 'main-ratio +0.05'";
|
||||
"Super P" = "spawn '$(tofi-drun)'";
|
||||
"Super S" = "spawn ~/.config/river/screenshot.sh";
|
||||
"Super O" = "spawn ~/.config/river/screencast.sh";
|
||||
"Super+Shift O" = "spawn ~/.config/river/screencast.sh audio";
|
||||
|
||||
"None XF86AudioRaiseVolume" = "spawn 'pamixer -i 5'";
|
||||
"None XF86AudioLowerVolume" = "spawn 'pamixer -d 5'";
|
||||
"None XF86AudioMute" = "spawn 'pamixer --toggle-mute'";
|
||||
"None XF86AudioMicMute" = "spawn 'pamixer --default-source --toggle-mute'";
|
||||
};
|
||||
|
||||
map-pointer.normal = {
|
||||
"Super BTN_LEFT" = "move-view";
|
||||
"Super BTN_RIGHT" = "resize-view";
|
||||
};
|
||||
|
||||
keyboard-layout = "de";
|
||||
default-layout = "rivertile";
|
||||
rule-add."-app-id" = {
|
||||
"'bar'" = "csd";
|
||||
};
|
||||
set-repeat = "50 300";
|
||||
spawn = [
|
||||
"'swaybg -i /nix/config/assets/wallpapers/river.png'"
|
||||
"/home/hu/.config/river/status"
|
||||
"/home/hu/.config/river/bar"
|
||||
"'fnott --config /home/hu/.config/fnott/fnott.conf.ini'"
|
||||
"'gnome-keyring-daemon --start'"
|
||||
];
|
||||
border-width = 1;
|
||||
border-color-focused = "0x333333";
|
||||
border-color-unfocused = "0x000000";
|
||||
};
|
||||
|
||||
extraConfig = "
|
||||
for i in $(seq 1 9); do
|
||||
tags=$((1 << ($i - 1)))
|
||||
riverctl map normal Super $i set-focused-tags $tags
|
||||
riverctl map normal Super+Shift $i set-view-tags $tags
|
||||
done
|
||||
rivertile -main-ratio 0.5 -view-padding 0 -outer-padding 0
|
||||
";
|
||||
};
|
||||
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
};
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "adw-gtk3-dark";
|
||||
package = pkgs.adw-gtk3;
|
||||
};
|
||||
|
||||
iconTheme = {
|
||||
name = "Adwaita";
|
||||
package = pkgs.adwaita-icon-theme;
|
||||
};
|
||||
};
|
||||
|
||||
home.file."/home/hu/.config/river/screenshot.sh" = {
|
||||
executable = true;
|
||||
text = ''
|
||||
#!/usr/bin/env sh
|
||||
|
||||
mkdir -p "$HOME/images/screenshots"
|
||||
screenshot_file="$HOME/images/screenshots/$(date +%s).png"
|
||||
area="$(slurp)"
|
||||
if [ "$area" = "selection cancelled" ]; then
|
||||
exit 0
|
||||
fi
|
||||
grim -g "$area" "$screenshot_file"
|
||||
notify-send "Screenshot saved" "$screenshot_file"
|
||||
wl-copy < "$screenshot_file"
|
||||
'';
|
||||
};
|
||||
|
||||
home.file."/home/hu/.config/river/screencast.sh" = {
|
||||
executable = true;
|
||||
text = ''
|
||||
#!/usr/bin/env sh
|
||||
|
||||
if [ -n "$(pidof wf-recorder)" ]; then
|
||||
pkill --signal=SIGINT wf-recorder
|
||||
notify-send "Screencast saved" "$(cat "$HOME/.cache/last_screencast")"
|
||||
wl-copy < "$(cat "$HOME/.cache/last_screencast")"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
mkdir -p "$HOME/videos/screencasts/"
|
||||
screencast_file="$HOME/videos/screencasts/$(date +%s).mp4"
|
||||
area="$(slurp)"
|
||||
if [ "$area" = "selection cancelled" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "$screencast_file" > "$HOME/.cache/last_screencast"
|
||||
if [ "$1" = "audio" ]; then
|
||||
wf-recorder -g "$area" --file="$screencast_file" --audio
|
||||
else
|
||||
wf-recorder -g "$area" --file="$screencast_file"
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
||||
services.fnott = {
|
||||
enable = true;
|
||||
configFile = "/home/hu/.config/fnott/fnott.conf.ini";
|
||||
};
|
||||
|
||||
home.file."/home/hu/.config/fnott/fnott.conf.ini" = {
|
||||
text = ''
|
||||
title-font=Go Mono Nerd Font
|
||||
body-font=Go Mono Nerd Font
|
||||
|
||||
background=111111ff
|
||||
title-color=888888ff
|
||||
body-color=888888ff
|
||||
summary-color=888888ff
|
||||
|
||||
default-timeout=10
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
47
modules/nixos/hardware/audio/default.nix
Normal file
47
modules/nixos/hardware/audio/default.nix
Normal file
|
@ -0,0 +1,47 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
};
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
|
||||
# Reduce latency
|
||||
# https://wiki.nixos.org/wiki/PipeWire#Low-latency_setup
|
||||
extraConfig = {
|
||||
pipewire."92-low-latency" = {
|
||||
"context.properties" = {
|
||||
"default.clock.rate" = 48000;
|
||||
"default.clock.quantum" = 32;
|
||||
"default.clock.min-quantum" = 32;
|
||||
"default.clock.max-quantum" = 32;
|
||||
};
|
||||
};
|
||||
|
||||
pipewire-pulse."92-low-latency" = {
|
||||
"context.properties" = [
|
||||
{
|
||||
name = "libpipewire-module-protocol-pulse";
|
||||
args = { };
|
||||
}
|
||||
];
|
||||
"pulse.properties" = {
|
||||
"pulse.min.req" = "32/48000";
|
||||
"pulse.default.req" = "32/48000";
|
||||
"pulse.max.req" = "32/48000";
|
||||
"pulse.min.quantum" = "32/48000";
|
||||
"pulse.max.quantum" = "32/48000";
|
||||
};
|
||||
"stream.properties" = {
|
||||
"node.latency" = "32/48000";
|
||||
"resample.quality" = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
44
modules/nixos/hardware/nvidia/default.nix
Normal file
44
modules/nixos/hardware/nvidia/default.nix
Normal file
|
@ -0,0 +1,44 @@
|
|||
{ config, ... }:
|
||||
|
||||
{
|
||||
hardware = {
|
||||
graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
};
|
||||
|
||||
nvidia = {
|
||||
open = true;
|
||||
modesetting.enable = true;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||
nvidiaSettings = false;
|
||||
};
|
||||
};
|
||||
|
||||
boot.kernelParams = [
|
||||
"nvidia_drm.fbdev=1"
|
||||
"nvidia.NVreg_PreserveVideoMemoryAllocations=1"
|
||||
];
|
||||
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
|
||||
environment.sessionVariables = {
|
||||
LIBVA_DRIVER_NAME = "nvidia";
|
||||
GBM_BACKEND = "nvidia-drm";
|
||||
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||
NVD_BACKEND = "direct";
|
||||
};
|
||||
|
||||
nixpkgs.config.cudaSupport = true;
|
||||
nix = {
|
||||
settings = {
|
||||
substituters = [
|
||||
"https://cuda-maintainers.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
home-manager.users.hu = {
|
||||
programs.fastfetch = {
|
||||
enable = true;
|
||||
settings = {
|
||||
modules = [
|
||||
"title"
|
||||
"separator"
|
||||
"os"
|
||||
"kernel"
|
||||
"initsystem"
|
||||
"uptime"
|
||||
"datetime"
|
||||
"packages"
|
||||
"terminal"
|
||||
"wm"
|
||||
"shell"
|
||||
"cpu"
|
||||
"gpu"
|
||||
"memory"
|
||||
"break"
|
||||
"colors"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,272 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
# You could theoretically, like I did for a while, maintain this file
|
||||
# to manage your Firefox and waste your time on this or you could just use
|
||||
# Firefox accounts and become a functioning member of society. This file is
|
||||
# now only a starting point and will not be kept up to date with my setup.
|
||||
|
||||
{
|
||||
environment.persistence."/nix/persist".users.hu.directories = [
|
||||
".mozilla/firefox/shaga"
|
||||
];
|
||||
|
||||
home-manager.users.hu = {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = pkgs.firefox-esr;
|
||||
policies = {
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
EmailTracking = true;
|
||||
};
|
||||
DisableTelemetry = true;
|
||||
DisablePocket = true;
|
||||
DisableFirefoxStudies = true;
|
||||
DisableFirefoxAccounts = false;
|
||||
DisableAccounts = false;
|
||||
DontCheckDefaultBrowser = true;
|
||||
OverrideFirstRunPage = "";
|
||||
OverridePostUpdatePage = "";
|
||||
NoDefaultBookmarks = true;
|
||||
Cookies = {
|
||||
Behaviour = "reject-foreign";
|
||||
BehaviourPrivateBrowsing = "reject-foreign";
|
||||
};
|
||||
|
||||
SearchEngines = { # ESR only
|
||||
Remove = [ "Bing" "Google" "DuckDuckGo" "Wikipedia (en)" ];
|
||||
};
|
||||
|
||||
# https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265/17
|
||||
ExtensionSettings = with builtins;
|
||||
let extension = shortId: uuid: {
|
||||
name = uuid;
|
||||
value = {
|
||||
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
|
||||
installation_mode = "normal_installed";
|
||||
};
|
||||
};
|
||||
in listToAttrs [
|
||||
(extension "ublock-origin" "uBlock0@raymondhill.net")
|
||||
];
|
||||
|
||||
"3rdparty".Extensions = {
|
||||
"uBlock0@raymondhill.net".adminSettings = {
|
||||
userSettings = {
|
||||
importedLists = [
|
||||
"https://raw.githubusercontent.com/DandelionSprout/adfilt/master/LegitimateURLShortener.txt"
|
||||
];
|
||||
externalLists = "https://raw.githubusercontent.com/DandelionSprout/adfilt/master/LegitimateURLShortener.txt";
|
||||
};
|
||||
selectedFilterLists = [
|
||||
"https://raw.githubusercontent.com/DandelionSprout/adfilt/master/LegitimateURLShortener.txt"
|
||||
"user-filters" "ublock-filters" "ublock-badware" "ublock-privacy" "ublock-quick-fixes"
|
||||
"ublock-unbreak" "easylist" "adguard-generic" "adguard-mobile" "easyprivacy" "adguard-spyware"
|
||||
"adguard-spyware-url" "block-lan" "urlhaus-1" "curben-phishing" "plowe-0" "dpollock-0" "fanboy-cookiemonster"
|
||||
"ublock-cookies-easylist" "adguard-cookies" "ublock-cookies-adguard" "fanboy-social" "adguard-social"
|
||||
"fanboy-thirdparty_social" "easylist-chat" "easylist-newsletters" "easylist-notifications"
|
||||
"easylist-annoyances" "adguard-mobile-app-banners" "adguard-other-annoyances" "adguard-popup-overlays"
|
||||
"adguard-widgets" "ublock-annoyances" "ALB-0" "BGR-0" "CHN-0" "CZE-0" "DEU-0" "EST-0" "ara-0" "spa-1"
|
||||
"spa-0" "FIN-0" "FRA-0" "GRC-0" "HRV-0" "HUN-0" "IDN-0" "ISR-0" "IND-0" "IRN-0" "ISL-0" "ITA-0"
|
||||
"JPN-1" "KOR-1" "LTU-0" "LVA-0" "MKD-0" "NLD-0" "NOR-0" "POL-0" "POL-2" "ROU-1" "RUS-0" "SWE-1"
|
||||
"SVN-0" "THA-0" "TUR-0" "VIE-1"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
profiles.shaga = {
|
||||
isDefault = true;
|
||||
search = {
|
||||
force = true;
|
||||
default = "Kagi";
|
||||
order = [ "Kagi" "Gruble" "Nix Packages" "Nix Options" "Home-manager options" ];
|
||||
engines = {
|
||||
"Kagi" = {
|
||||
urls = [
|
||||
{
|
||||
template = "https://kagi.com/search";
|
||||
params = [
|
||||
{ name = "q"; value = "{searchTerms}"; }
|
||||
];
|
||||
}
|
||||
];
|
||||
iconUpdateURL = "https://kagi.com/favicon.ico";
|
||||
updateInterval = 7 * 24 * 60 * 60 * 1000; # Weekly
|
||||
definedAliases = [ "@k" ];
|
||||
};
|
||||
"Gruble" = {
|
||||
urls = [
|
||||
{
|
||||
template = "https://gruble.de/search";
|
||||
params = [
|
||||
{ name = "q"; value = "{searchTerms}"; }
|
||||
];
|
||||
}
|
||||
];
|
||||
iconUpdateURL = "https://gruble.de/favicon.ico";
|
||||
updateInterval = 7 * 24 * 60 * 60 * 1000; # Weekly
|
||||
definedAliases = [ "@g" ];
|
||||
};
|
||||
"Nix Packages" = {
|
||||
urls = [{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{ name = "type"; value = "packages"; }
|
||||
{ name = "channel"; value = "unstable"; }
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
iconUpdateURL = "https://nixos.org/favicon.png";
|
||||
updateInterval = 7 * 24 * 60 * 60 * 1000; # Weekly
|
||||
definedAliases = [ "@np" ];
|
||||
};
|
||||
"Nix Options" = {
|
||||
urls = [{
|
||||
template = "https://search.nixos.org/options";
|
||||
params = [
|
||||
{ name = "type"; value = "packages"; }
|
||||
{ name = "channel"; value = "unstable"; }
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
iconUpdateURL = "https://nixos.org/favicon.png";
|
||||
updateInterval = 7 * 24 * 60 * 60 * 1000; # Weekly
|
||||
definedAliases = [ "@no" ];
|
||||
};
|
||||
"Home-manager options" = {
|
||||
urls = [{
|
||||
template = "https://home-manager-options.extranix.com";
|
||||
params = [
|
||||
{ name = "release"; value = "master"; }
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
iconUpdateURL = "https://home-manager-options.extranix.com/images/favicon.png";
|
||||
updateInterval = 7 * 24 * 60 * 60 * 1000; # Weekly
|
||||
definedAliases = [ "@ho" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
settings = {
|
||||
"browser.urlbar.quicksuggest.contextualOptIn.topPosition" = false;
|
||||
"extensions.postDownloadThirdPartyPrompt" = false;
|
||||
"extensions.getAddons.cache.enabled" = false;
|
||||
"browser.search.update" = false;
|
||||
"extensions.autoDisableScopes" = 0;
|
||||
"browser.startup.page" = 0;
|
||||
"browser.startup.homepage" = "about:blank";
|
||||
"browser.newtabpage.enabled" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsored" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
"browser.newtabpage.activity-stream.default.sites" = "";
|
||||
"geo.provider.use_gpsd" = false;
|
||||
"extensions.getAddons.showPane" = false;
|
||||
"htmlaboutaddons.recommendations.enabled" = false;
|
||||
"discovery.enabled" = false;
|
||||
"browser.shopping.experience2023.enabled" = false;
|
||||
"app.shield.optoutstudies.enabled" = false;
|
||||
"app.normandy.enabled" = false;
|
||||
"app.normandy.api_url" = "";
|
||||
"breakpad.reportURL" = "";
|
||||
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
|
||||
"browser.newtabpage.activity-stream.telemetry" = false;
|
||||
"browser.search.serpEventTelemetry.enabled" = false;
|
||||
"dom.security.unexpected_system_load_telemetry_enabled" = false;
|
||||
"network.trr.confirmation_telemetry_enabled" = false;
|
||||
"security.app_menu.recordEventTelemetry" = false;
|
||||
"security.certerrors.recordEventTelemetry" = false;
|
||||
"security.protectionspopup.recordEventTelemetry" = false;
|
||||
"toolkit.telemetry.bhrPing.enabled" = false;
|
||||
"toolkit.telemetry.firstShutdownPing.enabled" = false;
|
||||
"toolkit.telemetry.newProfilePing.enabled" = false;
|
||||
"toolkit.telemetry.pioneer-new-studies-available" = false;
|
||||
"toolkit.telemetry.shutdownPingSender.enabled" = false;
|
||||
"toolkit.telemetry.unified" = false;
|
||||
"toolkit.telemetry.updatePing.enabled" = false;
|
||||
"toolkit.telemetry.server" = "127.0.0.1";
|
||||
"browser.newtabpage.activity-stream.telemetry.structuredIngestion.endpoint" = "127.0.0.1";
|
||||
"browser.tabs.crashReporting.sendReport" = false;
|
||||
"browser.crashReports.unsubmittedCheck.autoSubmit2" = false;
|
||||
"captivedetect.canonicalURL" = "";
|
||||
"network.captive-portal-service.enabled" = false;
|
||||
"network.connectivity-service.enabled" = false;
|
||||
"browser.safebrowsing.downloads.remote.enabled" = false;
|
||||
"browser.urlbar.speculativeConnect.enabled" = false;
|
||||
"browser.search.suggest.enabled" = true;
|
||||
"browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
|
||||
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
||||
"browser.urlbar.suggest.searches" = true;
|
||||
"browser.urlbar.suggest.bookmark" = false;
|
||||
"browser.urlbar.suggest.addons" = false;
|
||||
"browser.urlbar.suggest.calculator" = false;
|
||||
"browser.urlbar.suggest.clipboard" = false;
|
||||
"browser.urlbar.suggest.engines" = false;
|
||||
"browser.urlbar.suggest.history" = false;
|
||||
"browser.urlbar.suggest.mdn" = false;
|
||||
"browser.urlbar.suggest.openpage" = false;
|
||||
"browser.urlbar.suggest.pocket" = false;
|
||||
"browser.urlbar.suggest.recentsearches" = false;
|
||||
"browser.urlbar.suggest.remotetab" = false;
|
||||
"browser.urlbar.suggest.topsites" = false;
|
||||
"browser.urlbar.suggest.trending" = false;
|
||||
"browser.urlbar.suggest.weather" = false;
|
||||
"browser.urlbar.suggest.yelp" = false;
|
||||
"browser.urlbar.richSuggestions.tail" = false;
|
||||
"browser.urlbar.quicksuggest.shouldShowOnboardingDialog" = false;
|
||||
"browser.urlbar.quicksuggest.rustEnabled" = false;
|
||||
"browser.urlbar.richSuggestions.featureGate" = false;
|
||||
"browser.urlbar.trending.featureGate" = false;
|
||||
"browser.urlbar.addons.featureGate" = false;
|
||||
"browser.urlbar.mdn.featureGate" = false;
|
||||
"browser.urlbar.pocket.featureGate" = false;
|
||||
"browser.urlbar.weather.featureGate" = false;
|
||||
"browser.formfill.enable" = false;
|
||||
"dom.forms.autocomplete.formautofill" = false;
|
||||
"extensions.formautofill.addresses.capture.enabled" = false;
|
||||
"extensions.formautofill.creditCards.enabled" = false;
|
||||
"signon.autofillForms" = false;
|
||||
"signon.rememberSignons" = false;
|
||||
"signon.formlessCapture.enabled" = false;
|
||||
"network.auth.subresource-http-auth-allow" = 1;
|
||||
"dom.security.https_only_mode" = true;
|
||||
"network.http.referer.XOriginTrimmingPolicy" = 2;
|
||||
"privacy.userContext.enabled" = true;
|
||||
"privacy.userContext.ui.enabled" = true;
|
||||
"privacy.sanitize.sanitizeOnShutdown" = true;
|
||||
"privacy.clearHistory.siteSettings" = true;
|
||||
"media.peerconnection.ice.no_host" = true;
|
||||
"browser.download.start_downloads_in_tmp_dir" = true;
|
||||
"browser.helperApps.deleteTempFileOnExit" = true;
|
||||
"browser.uitour.enabled" = false;
|
||||
"pdfjs.enableScripting" = false;
|
||||
"browser.download.useDownloadDir" = false;
|
||||
"browser.download.alwaysOpenPanel" = true;
|
||||
"browser.download.manager.addToRecentDocs" = false;
|
||||
"browser.download.always_ask_before_handling_new_types" = true;
|
||||
"browser.contentblocking.category" = "strict";
|
||||
"privacy.clearOnShutdown.cache" = true;
|
||||
"privacy.clearOnShutdown.downloads" = true;
|
||||
"privacy.clearOnShutdown.formdata" = true;
|
||||
"privacy.clearOnShutdown.history" = true;
|
||||
"privacy.clearOnShutdown.sessions" = true;
|
||||
"privacy.clearOnShutdown.cookies" = true;
|
||||
"privacy.clearOnShutdown.offlineApps" = true;
|
||||
"privacy.clearSiteData.historyFormDataAndDownloads" = true;
|
||||
"browser.startup.homepage_override.mstone" = "ignore";
|
||||
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false;
|
||||
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false;
|
||||
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
|
||||
"browser.messaging-system.whatsNewPanel.enabled" = false;
|
||||
"browser.urlbar.showSearchTerms.enabled" = false;
|
||||
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.havePinned" = "";
|
||||
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.searchEngines" = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
home-manager.users.hu = {
|
||||
programs.foot = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
pad = "2x2 center";
|
||||
font = "Go Mono Nerd Font:size=12";
|
||||
};
|
||||
|
||||
mouse = {
|
||||
hide-when-typing = "yes";
|
||||
};
|
||||
|
||||
scrollback = {
|
||||
lines = 10000;
|
||||
};
|
||||
|
||||
colors = {
|
||||
alpha = 0.9;
|
||||
|
||||
foreground = "c5c9c5";
|
||||
background = "181616";
|
||||
selection-foreground = "c8c093";
|
||||
selection-background = "2d4f67";
|
||||
|
||||
regular0 = "0d0c0c";
|
||||
regular1 = "c4746e";
|
||||
regular2 = "8a9a7b";
|
||||
regular3 = "c4b28a";
|
||||
regular4 = "8ba4b0";
|
||||
regular5 = "a292a3";
|
||||
regular6 = "8ea4a2";
|
||||
regular7 = "c8c093";
|
||||
|
||||
bright0 = "a6a69c";
|
||||
bright1 = "e46876";
|
||||
bright2 = "87a987";
|
||||
bright3 = "e6c384";
|
||||
bright4 = "7fb4ca";
|
||||
bright5 = "938aa9";
|
||||
bright6 = "7aa89f";
|
||||
bright7 = "c5c9c5";
|
||||
|
||||
"16" = "b6927b";
|
||||
"17" = "b98d7b";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
ugp = "/nix/config/secrets/git_uni";
|
||||
in {
|
||||
home-manager.users.hu = {
|
||||
home.file."/home/hu/.config/git/personal" = {
|
||||
text = ''
|
||||
[user]
|
||||
email = "me@caem.dev"
|
||||
name = "caem"
|
||||
signingKey = "E50FC66B5062070DC462661C69A830D03203405F"
|
||||
|
||||
[gpg]
|
||||
program = "${pkgs.gnupg}/bin/gpg2"
|
||||
|
||||
[commit]
|
||||
gpgSign = true
|
||||
|
||||
[tag]
|
||||
gpgSign = true
|
||||
|
||||
[init]
|
||||
defaultBranch = "master"
|
||||
|
||||
[pull]
|
||||
rebase = true
|
||||
'';
|
||||
};
|
||||
|
||||
home.file."/home/hu/.config/git/uni" = {
|
||||
source = ugp;
|
||||
};
|
||||
|
||||
home.file."/home/hu/.config/git/config" = {
|
||||
text = ''
|
||||
[includeIf "gitdir:~/programming/personal/**"]
|
||||
path = ~/.config/git/personal
|
||||
|
||||
[includeIf "gitdir:~/programming/forks/**"]
|
||||
path = ~/.config/git/personal
|
||||
|
||||
[includeIf "gitdir:~/programming/uni/**"]
|
||||
path = ~/.config/git/uni
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,100 +0,0 @@
|
|||
[Background]
|
||||
Color=35,38,39
|
||||
|
||||
[BackgroundFaint]
|
||||
Color=49,54,59
|
||||
|
||||
[BackgroundIntense]
|
||||
Color=0,0,0
|
||||
|
||||
[Color0]
|
||||
Color=35,38,39
|
||||
|
||||
[Color0Faint]
|
||||
Color=49,54,59
|
||||
|
||||
[Color0Intense]
|
||||
Color=127,140,141
|
||||
|
||||
[Color1]
|
||||
Color=237,21,21
|
||||
|
||||
[Color1Faint]
|
||||
Color=120,50,40
|
||||
|
||||
[Color1Intense]
|
||||
Color=192,57,43
|
||||
|
||||
[Color2]
|
||||
Color=17,209,22
|
||||
|
||||
[Color2Faint]
|
||||
Color=23,162,98
|
||||
|
||||
[Color2Intense]
|
||||
Color=28,220,154
|
||||
|
||||
[Color3]
|
||||
Color=246,116,0
|
||||
|
||||
[Color3Faint]
|
||||
Color=182,86,25
|
||||
|
||||
[Color3Intense]
|
||||
Color=253,188,75
|
||||
|
||||
[Color4]
|
||||
Color=29,153,243
|
||||
|
||||
[Color4Faint]
|
||||
Color=27,102,143
|
||||
|
||||
[Color4Intense]
|
||||
Color=61,174,233
|
||||
|
||||
[Color5]
|
||||
Color=155,89,182
|
||||
|
||||
[Color5Faint]
|
||||
Color=97,74,115
|
||||
|
||||
[Color5Intense]
|
||||
Color=142,68,173
|
||||
|
||||
[Color6]
|
||||
Color=26,188,156
|
||||
|
||||
[Color6Faint]
|
||||
Color=24,108,96
|
||||
|
||||
[Color6Intense]
|
||||
Color=22,160,133
|
||||
|
||||
[Color7]
|
||||
Color=252,252,252
|
||||
|
||||
[Color7Faint]
|
||||
Color=99,104,109
|
||||
|
||||
[Color7Intense]
|
||||
Color=255,255,255
|
||||
|
||||
[Foreground]
|
||||
Color=252,252,252
|
||||
|
||||
[ForegroundFaint]
|
||||
Color=239,240,241
|
||||
|
||||
[ForegroundIntense]
|
||||
Color=61,174,233
|
||||
|
||||
[General]
|
||||
Anchor=0.5,0.5
|
||||
Blur=false
|
||||
ColorRandomization=false
|
||||
Description=Custom
|
||||
FillStyle=Tile
|
||||
Opacity=0.9
|
||||
Wallpaper=
|
||||
WallpaperFlipType=NoFlip
|
||||
WallpaperOpacity=1
|
|
@ -1,4 +0,0 @@
|
|||
[MainWindow]
|
||||
1920x1080 screen: Height=640
|
||||
1920x1080 screen: Width=1138
|
||||
State=AAAA/wAAAAD9AAAAAQAAAAAAAAAAAAAAAPwCAAAAAvsAAAAiAFEAdQBpAGMAawBDAG8AbQBtAGEAbgBkAHMARABvAGMAawAAAAAA/////wAAAXIA////+wAAABwAUwBTAEgATQBhAG4AYQBnAGUAcgBEAG8AYwBrAAAAAAD/////AAABEQD///8AAARyAAACgAAAAAQAAAAEAAAACAAAAAj8AAAAAQAAAAIAAAACAAAAFgBtAGEAaQBuAFQAbwBvAGwAQgBhAHIAAAAAAP////8AAAAAAAAAAAAAABwAcwBlAHMAcwBpAG8AbgBUAG8AbwBsAGIAYQByAAAAAAD/////AAAAAAAAAAA=
|
|
@ -1,50 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.persistence."/nix/persist".users.hu.directories = [
|
||||
".local/share/nvim"
|
||||
".local/state/nvim"
|
||||
];
|
||||
|
||||
environment.variables = {
|
||||
EDITOR = "nvim";
|
||||
};
|
||||
|
||||
home-manager.users.hu = {
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
extraPackages = with pkgs; [
|
||||
lua-language-server
|
||||
nodePackages.intelephense
|
||||
nodePackages.typescript-language-server
|
||||
(llvmPackages_19.clang-tools.override {
|
||||
enableLibcxx = true;
|
||||
})
|
||||
ccls
|
||||
ripgrep
|
||||
nil
|
||||
gcc14
|
||||
basedpyright
|
||||
rust-analyzer
|
||||
zathura
|
||||
git
|
||||
texliveFull
|
||||
luajitPackages.jsregexp
|
||||
luajitPackages.luarocks
|
||||
fd
|
||||
texlab
|
||||
haskell-language-server
|
||||
rustc
|
||||
shellcheck
|
||||
bash-language-server
|
||||
];
|
||||
};
|
||||
|
||||
home.file."/home/hu/.config/nvim" = {
|
||||
source = ../../dotfiles/nvim;
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home-manager.users.hu = {
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
package = pkgs.rofi-wayland;
|
||||
theme = "sidebar";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,43 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
customPaneNavigationAndResize = true;
|
||||
baseIndex = 1;
|
||||
plugins = with pkgs; [
|
||||
tmuxPlugins.resurrect
|
||||
];
|
||||
extraConfig = ''
|
||||
# Enable mouse
|
||||
setw -g mouse on
|
||||
|
||||
# Neovim
|
||||
set-option -sg escape-time 10
|
||||
set-option -g focus-events on
|
||||
# https://stackoverflow.com/questions/60309665/neovim-colorscheme-does-not-look-right-when-using-nvim-inside-tmux#comment124479399_60313682
|
||||
set-option -ga terminal-overrides ",xterm-256color:Tc"
|
||||
|
||||
# vi mode
|
||||
set -g mode-keys vi
|
||||
set -g status-keys vi
|
||||
|
||||
# Rebind prefix key to C-a
|
||||
set -g prefix C-a
|
||||
bind C-a send-prefix
|
||||
unbind C-b
|
||||
|
||||
# Clipboard
|
||||
set -ga update-environment WAYLAND_DISPLAY
|
||||
bind Escape copy-mode
|
||||
bind p run-shell 'tmux set-buffer -- "$(wl-paste -t "text/plain;charset=utf-8")"; tmux paste-buffer'
|
||||
bind -T copy-mode-vi 'v' send -X begin-selection
|
||||
bind -T copy-mode-vi 'y' send -X copy-pipe 'wl-copy'
|
||||
set -s set-clipboard off
|
||||
|
||||
# Status bar
|
||||
set -g status-style bg=default
|
||||
set -g status-fg 4
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -1,55 +0,0 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
home-manager.users.hu = {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
systemd = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
settings = {
|
||||
bar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 32;
|
||||
output = [
|
||||
"DP-1"
|
||||
];
|
||||
|
||||
modules-left = [ "hyprland/workspaces" "hyprland/submap" ];
|
||||
modules-center = [ "hyprland/window" ];
|
||||
modules-right = [ "tray" "clock" ];
|
||||
};
|
||||
};
|
||||
style = ''
|
||||
* {
|
||||
all: unset;
|
||||
border-radius: 0;
|
||||
font-family: "Go Mono Nerd Font";
|
||||
font-size: 11pt;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
color: #c5c9c5;
|
||||
background: #181616;
|
||||
border-bottom: 2px solid rgba(53,132,228, 1);
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 8pt 0 8pt;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: #3584e4;
|
||||
}
|
||||
|
||||
#clock {
|
||||
padding: 0 8pt 0 8pt;
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
users.users.hu.shell = pkgs.zsh;
|
||||
|
||||
environment.variables = {
|
||||
ZDOTDIR = "/home/hu/.config/zsh";
|
||||
};
|
||||
|
||||
home-manager.users.hu = {
|
||||
home.packages = with pkgs; [
|
||||
fzf
|
||||
thefuck
|
||||
zsh-fzf-tab
|
||||
zsh-completions
|
||||
zsh-autosuggestions
|
||||
zsh-syntax-highlighting
|
||||
nix-zsh-completions
|
||||
zsh-nix-shell
|
||||
];
|
||||
|
||||
home.sessionVariables = {
|
||||
ZDOTDIR = "/home/hu/.config/zsh";
|
||||
};
|
||||
|
||||
home.file."/home/hu/.config/zsh/conf.d" = {
|
||||
source = ../../dotfiles/zsh/conf.d;
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
home.file."/home/hu/.config/zsh/.zshrc" = {
|
||||
text = ''
|
||||
#!/usr/bin/env zsh
|
||||
|
||||
SYNTAX_PLUGIN="${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
|
||||
AUTOSUGGEST_PLUGIN="${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh"
|
||||
NIX_SHELL_PLUGIN="${pkgs.zsh-nix-shell}/share/zsh-nix-shell/nix-shell.plugin.zsh"
|
||||
FZF_TAB_PLUGIN="${pkgs.zsh-fzf-tab}/share/fzf-tab/fzf-tab.plugin.zsh"
|
||||
'' + (builtins.readFile ../../dotfiles/zsh/.zshrc);
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.zsh.enable = true;
|
||||
|
||||
programs.nh = {
|
||||
enable = true;
|
||||
flake = "/nix/config";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
fastfetch
|
||||
wget
|
||||
unzip
|
||||
git
|
||||
tree
|
||||
dos2unix
|
||||
neovim
|
||||
libqalculate
|
||||
];
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../packages/git.nix
|
||||
../packages/nvim.nix
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
wireshark
|
||||
seer
|
||||
mars-mips
|
||||
];
|
||||
|
||||
users.users.hu.extraGroups = [ "wireshark" ];
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
fonts.packages = with pkgs; [
|
||||
nerdfonts
|
||||
];
|
||||
}
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
security.sudo.extraConfig = ''
|
||||
Defaults lecture="never"
|
||||
'';
|
||||
|
||||
security.apparmor = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
nixpkgs.config.permittedInsecurePackages = [
|
||||
"jitsi-meet-1.0.8043"
|
||||
];
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
virtualisation.libvirtd.enable = true;
|
||||
programs.virt-manager.enable = true;
|
||||
|
||||
users.users.hu.extraGroups = [ "libvirtd" ];
|
||||
|
||||
home-manager.users.hu = {
|
||||
dconf.settings = {
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = ["qemu:///system"];
|
||||
uris = ["qemu:///system"];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue