some adjustments
This commit is contained in:
@ -18,14 +18,13 @@ in
|
||||
};
|
||||
defaultSession = "xsession";
|
||||
session = [{
|
||||
manage = "desktop";
|
||||
name = "xsession";
|
||||
start = ''exec $HOME/.xsession'';
|
||||
manage = "desktop";
|
||||
name = "xsession";
|
||||
start = ''exec $HOME/.xsession'';
|
||||
}];
|
||||
};
|
||||
|
||||
desktopManager = {
|
||||
gnome.enable = true;
|
||||
xfce = {
|
||||
enable = true;
|
||||
noDesktop = true;
|
||||
@ -41,7 +40,7 @@ in
|
||||
};
|
||||
|
||||
home-manager.users.alex = { pkgs, ... }: {
|
||||
services = {
|
||||
services = {
|
||||
# picom = {
|
||||
# enable = true;
|
||||
# blur = true;
|
||||
@ -127,7 +126,7 @@ in
|
||||
bspc query -N -n "focused.$\{layer\}" && layer=below; \
|
||||
bspc node -l "$layer"'';
|
||||
"super + {s,f,k}" =
|
||||
''state={floating,fullscreen,pseudo_tiled}; \
|
||||
''state={floating,fullscreen,pseudo_tiled}; \
|
||||
bspc query -N -n "focused.$\{state\}" && state=tiled; \
|
||||
bspc node -t "$state" '';
|
||||
"super + alt + {Left,Down,Up,Right}" = "bspc node -p {west,south,north,east}";
|
||||
@ -166,52 +165,52 @@ in
|
||||
flameshot.enable = true;
|
||||
};
|
||||
|
||||
xsession = {
|
||||
enable = true;
|
||||
pointerCursor = {
|
||||
defaultCursor = "left_ptr";
|
||||
name = "elementary";
|
||||
package = pkgs.pantheon.elementary-icon-theme;
|
||||
};
|
||||
windowManager = {
|
||||
command = pkgs.lib.mkForce ''
|
||||
${pkgs.bspwm}/bin/bspwm -c ~/.config/bspwm/bspwmrc &
|
||||
${pkgs.xfce.xfce4-session}/bin/xfce4-session
|
||||
'';
|
||||
bspwm = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
bspc wm --adopt-orphans
|
||||
xsession = {
|
||||
enable = true;
|
||||
pointerCursor = {
|
||||
defaultCursor = "left_ptr";
|
||||
name = "elementary";
|
||||
package = pkgs.pantheon.elementary-icon-theme;
|
||||
};
|
||||
windowManager = {
|
||||
command = pkgs.lib.mkForce ''
|
||||
${pkgs.bspwm}/bin/bspwm -c ~/.config/bspwm/bspwmrc &
|
||||
${pkgs.xfce.xfce4-session}/bin/xfce4-session
|
||||
'';
|
||||
bspwm = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
bspc wm --adopt-orphans
|
||||
|
||||
node /home/alex/Sync/windows.js
|
||||
bspc subscribe monitor_add monitor_remove| while read -r a event; do
|
||||
node /home/alex/Sync/windows.js
|
||||
done &
|
||||
'';
|
||||
settings = {
|
||||
border_width = 4;
|
||||
window_gap = 5;
|
||||
top_padding = 0;
|
||||
left_padding = 0;
|
||||
right_padding = 0;
|
||||
bottom_padding = 0;
|
||||
split_ratio = 0.50;
|
||||
borderless_monocle = true;
|
||||
single_monocle = true;
|
||||
gapless_monocle = true;
|
||||
focus_follows_pointer = true;
|
||||
pointer_follows_monitor = true;
|
||||
pointer_follows_focus = false;
|
||||
center_pseudo_tiled = true;
|
||||
automatic_scheme = "alternate";
|
||||
remove_unplugged_monitors = true;
|
||||
remove_disabled_monitors = true;
|
||||
normal_border_color = "#333333";
|
||||
focused_border_color = "#666666";
|
||||
presel_feedback_color = "#000000";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
bspc subscribe monitor_add monitor_remove| while read -r a event; do
|
||||
node /home/alex/Sync/windows.js
|
||||
done &
|
||||
'';
|
||||
settings = {
|
||||
border_width = 4;
|
||||
window_gap = 5;
|
||||
top_padding = 0;
|
||||
left_padding = 0;
|
||||
right_padding = 0;
|
||||
bottom_padding = 0;
|
||||
split_ratio = 0.50;
|
||||
borderless_monocle = true;
|
||||
single_monocle = true;
|
||||
gapless_monocle = true;
|
||||
focus_follows_pointer = true;
|
||||
pointer_follows_monitor = true;
|
||||
pointer_follows_focus = false;
|
||||
center_pseudo_tiled = true;
|
||||
automatic_scheme = "alternate";
|
||||
remove_unplugged_monitors = true;
|
||||
remove_disabled_monitors = true;
|
||||
normal_border_color = "#333333";
|
||||
focused_border_color = "#666666";
|
||||
presel_feedback_color = "#000000";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -18,10 +18,14 @@ in
|
||||
nextdns = {
|
||||
enable = true;
|
||||
arguments = [
|
||||
"-config" secrets.nextdnshash
|
||||
"-cache-size" "10MB"
|
||||
"-listen" "127.0.0.1:53"
|
||||
"-forwarder" secrets.nextdnsforwarder
|
||||
"-config"
|
||||
secrets.nextdnshash
|
||||
"-cache-size"
|
||||
"10MB"
|
||||
"-listen"
|
||||
"127.0.0.1:53"
|
||||
"-forwarder"
|
||||
secrets.nextdnsforwarder
|
||||
"-report-client-info"
|
||||
];
|
||||
};
|
||||
@ -34,13 +38,14 @@ in
|
||||
networking = {
|
||||
nameservers = [ "127.0.0.1" "::1" ];
|
||||
hosts = {
|
||||
"2.56.97.114" = ["szczepan.ski"];
|
||||
"10.100.0.1" = ["vps.wg"];
|
||||
"10.100.0.2" = ["desktop.wg"];
|
||||
"10.100.0.3" = ["mini.wg"];
|
||||
"192.168.0.24" = ["mini.lan"];
|
||||
"192.168.0.100" = ["homeserver.lan"];
|
||||
"192.168.0.150" = ["desktop.lan"];
|
||||
"2.56.97.114" = [ "old-vps" ];
|
||||
"207.180.220.97" = [ "szczepan.ski" ];
|
||||
"10.100.0.1" = [ "vps.wg" ];
|
||||
"10.100.0.2" = [ "desktop.wg" ];
|
||||
"10.100.0.3" = [ "mini.wg" ];
|
||||
"192.168.0.24" = [ "mini.lan" ];
|
||||
"192.168.0.100" = [ "homeserver.lan" ];
|
||||
"192.168.0.150" = [ "desktop.lan" ];
|
||||
};
|
||||
# If using dhcpcd:
|
||||
dhcpcd.extraConfig = "nohook resolv.conf";
|
||||
|
@ -70,9 +70,9 @@ in
|
||||
"UrlKeyedAnonymizedDataCollectionEnabled" = false;
|
||||
"SpellcheckEnabled" = true;
|
||||
"SpellcheckLanguage" = [
|
||||
"de"
|
||||
"en-US"
|
||||
];
|
||||
"de"
|
||||
"en-US"
|
||||
];
|
||||
"CloudPrintSubmitEnabled" = false;
|
||||
};
|
||||
};
|
||||
|
@ -16,7 +16,7 @@ in
|
||||
grim
|
||||
slurp
|
||||
wl-clipboard
|
||||
(python38.withPackages(ps: with ps; [ i3pystatus keyring ]))
|
||||
(python38.withPackages (ps: with ps; [ i3pystatus keyring ]))
|
||||
];
|
||||
extraSessionCommands = ''
|
||||
export SDL_VIDEODRIVER=wayland
|
||||
@ -40,12 +40,12 @@ in
|
||||
description = "Kanshi output autoconfig ";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
partOf = [ "graphical-session.target" ];
|
||||
environment = { XDG_CONFIG_HOME="/home/alex/.config"; };
|
||||
environment = { XDG_CONFIG_HOME = "/home/alex/.config"; };
|
||||
serviceConfig = {
|
||||
# kanshi doesn't have an option to specifiy config file yet, so it looks
|
||||
# at .config/kanshi/config
|
||||
ExecStart = ''
|
||||
${pkgs.kanshi}/bin/kanshi
|
||||
${pkgs.kanshi}/bin/kanshi
|
||||
'';
|
||||
RestartSec = 5;
|
||||
Restart = "always";
|
||||
|
@ -21,13 +21,9 @@ in
|
||||
gnome.cheese
|
||||
homebank
|
||||
insomnia
|
||||
jellyfin-media-player
|
||||
jellyfin-mpv-shim
|
||||
kdenlive
|
||||
keepassxc
|
||||
libreoffice
|
||||
lutris
|
||||
lxrandr
|
||||
mangohud
|
||||
meld
|
||||
obs-studio
|
||||
|
@ -1,7 +1,8 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let unstable = import <nixos-unstable> { config.allowUnfree = true; };
|
||||
in {
|
||||
in
|
||||
{
|
||||
imports = [ <home-manager/nixos> ];
|
||||
|
||||
home-manager.users.alex = { pkgs, ... }: {
|
||||
@ -33,6 +34,12 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
syncthing = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
font = {
|
||||
@ -75,42 +82,21 @@ in {
|
||||
jnoortheen.nix-ide
|
||||
brettm12345.nixfmt-vscode
|
||||
];
|
||||
# userSettings = {
|
||||
# #"terminal.integrated.fontFamily" = "Hack";
|
||||
# "workbench.colorTheme" = "Hyper Term Black";
|
||||
# "window.titleBarStyle" = "custom";
|
||||
# };
|
||||
};
|
||||
|
||||
rofi = {
|
||||
enable = true;
|
||||
lines = 10;
|
||||
borderWidth = 2;
|
||||
scrollbar = false;
|
||||
padding = 50;
|
||||
font = "Liberation Sans Regular 20";
|
||||
separator = "solid";
|
||||
colors = {
|
||||
window = {
|
||||
background = "#dd000000";
|
||||
border = "#a6a6a6";
|
||||
separator = "#a6a6a6";
|
||||
};
|
||||
rows = {
|
||||
normal = {
|
||||
background = "#00000000";
|
||||
foreground = "#a6a6a6";
|
||||
backgroundAlt = "#00000000";
|
||||
highlight = {
|
||||
background = "#a6a6a6";
|
||||
foreground = "#000000";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
extraConfig = {
|
||||
modi = "drun,window";
|
||||
show-icons = true;
|
||||
color-normal = "#00000000, #a6a6a6, #00000000, #a6a6a6, #000000";
|
||||
color-window = "#dd000000, #a6a6a6, #a6a6a6";
|
||||
separator-style = "solid";
|
||||
padding = 50;
|
||||
lines = 10;
|
||||
borderWidth = 2;
|
||||
hide-scrollbar = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -11,7 +11,7 @@ in
|
||||
|
||||
users.alex = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" "docker" "networkmanager" "libvirtd" "lp" "scanner" "adbusers" ];
|
||||
extraGroups = [ "wheel" "docker" "networkmanager" "libvirtd" "kvm" "lp" "scanner" "adbusers" ];
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDPSzeNjfkz7/B/18TcJxxmNFUhvTKoieBcexdzebWH7oncvyBXNRJp8vAqSIVFLzz5UUFQNFuilggs8/N48U84acmFOxlbUmxlkf8KZgeB/G6uQ8ncQh6M1HNNPH+9apTURgfctr7eEZe9seLIEBISQLXB2Sf3F1ogfDj25S8kH9RM4wM1/jDFK5IecWHScKxwQPmCoXeGE1LEJq6nkQLXMDsWhSihtWouaTxSR0p7/wp/Rqt/hzLEWj8e3+qLMc5JrrdaWksupUCysme7CnSfGSzNUv9RKiRCTFofYPT9tbRn5JzdpQ55v22S6OvmmXUHjST1MOzI8MpVPZCCqd/ZQ1E+gErFiMwjG4sn/xxdPK9/jbQaXMjLklbKtR+C5090Ew2u2kj78jqGk/8COhF1MXh/9qjcG+C51uD1AS9d410kfjPwkaUt4U2KktDMQ942nWywrvIWM0Gt2kgDLYotsy/70q/aTJ8bvaCoWoDOGmpWcyNNBalz4OYYGI2Z0WHrVTs0FpzSk/XeQz0OLkmueoh5GDGd8zrfO6Nf5LWI17aWGRePTpQP5mJIg6jC3j8/QVrthEP6QyIIkZsnfsmvSiMWVfXqEy1BxVlu3T6aLffaj679KCsxY+mx5mTH2hwd4ZdbSI4F0GCIt+WGaFhHs2V3ZQitoEZuraRPEc4HGw== alexander@szczepan.ski"
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDIsOYaj6+akcgTQPvm0/htYgO5z+PR1TJRxCnbRNI/ucqvcC6/eTzPU7tKG+UJtkfy30NSnwu/k9aENyb5zYLVoDHngOzH8DLl93B2nHgwUiLpv7kFXOhvD1jsA5RsryeumaL7YbtlePrso+FEJkUez8mncAjG4t9U/MifkTbujjS5AP35NONH01fQWKvivnqw4T0dq36e0J0YF/zcb1mQovt3dw7+NE0A6OwNGAElRNwVh619jL9g0TJBi3Ge8LASsHBildzTlNVHzIwdDzRdAvsoAXjYF42fjHSQXZJv5P5eJcT7JEt7x+yVWzTnk/K6/dtKi6kewbp/srUGSsVLP6x+o6QTQ5rYKoBRsM/3bfqG0PwijfDXEdn7bQn6+7PcnMhVi5wJppUeEOt0SbRBDSa3ewzTWjjESPW03b/oIlNrnDhk5UJmF5jlfxz9HHP73lqEpcNhEAiZMLbfvnwtufS/wYnZXz44i8rVEiNMfIOS2VIM74aNloPTvkq0Ek0GzTT6H4wQy7VbRgSOaW+XN5TSOEqtfZ0TpmYNrpskVx5yDrbOOArmULICGLlexed8fsFZX8P1ouTg96pM5Kr47HZsdEZzS8DKuDx8EP50ORYKbN6Kyb+f0FcMEfD1RQV+IECKnnFUyoozFjE0aV+ROjAKoDmyWdU2lpOPA8kRBw== alex@desktop"
|
||||
@ -50,12 +50,6 @@ in
|
||||
];
|
||||
};
|
||||
|
||||
services = {
|
||||
syncthing = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
ssh = {
|
||||
enable = true;
|
||||
@ -63,34 +57,38 @@ in
|
||||
serverAliveInterval = 60;
|
||||
forwardAgent = true;
|
||||
|
||||
matchBlocks."szczepan.ski" = {
|
||||
hostname = "szczepan.ski";
|
||||
localForwards = [ {
|
||||
matchBlocks."old-vps" = {
|
||||
hostname = "2.56.97.114";
|
||||
localForwards = [{
|
||||
bind.address = "127.0.0.1";
|
||||
bind.port = 8386;
|
||||
host.address = "127.0.0.1";
|
||||
host.port = 8384;
|
||||
} {
|
||||
bind.address = "127.0.0.1";
|
||||
bind.port = 9092;
|
||||
host.address = "127.0.0.1";
|
||||
host.port = 9091;
|
||||
}];
|
||||
}
|
||||
{
|
||||
bind.address = "127.0.0.1";
|
||||
bind.port = 9092;
|
||||
host.address = "127.0.0.1";
|
||||
host.port = 9091;
|
||||
}];
|
||||
};
|
||||
|
||||
matchBlocks."new-vps" = {
|
||||
matchBlocks."szczepan.ski" = {
|
||||
hostname = "207.180.220.97";
|
||||
localForwards = [ {
|
||||
bind.address = "127.0.0.1";
|
||||
bind.port = 8387;
|
||||
host.address = "127.0.0.1";
|
||||
host.port = 8384;
|
||||
} {
|
||||
bind.address = "127.0.0.1";
|
||||
bind.port = 9092;
|
||||
host.address = "127.0.0.1";
|
||||
host.port = 9091;
|
||||
}];
|
||||
localForwards = [
|
||||
{
|
||||
bind.address = "127.0.0.1";
|
||||
bind.port = 8387;
|
||||
host.address = "127.0.0.1";
|
||||
host.port = 8384;
|
||||
}
|
||||
{
|
||||
bind.address = "127.0.0.1";
|
||||
bind.port = 9092;
|
||||
host.address = "127.0.0.1";
|
||||
host.port = 9091;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
matchBlocks."nixos-vm" = {
|
||||
@ -112,28 +110,28 @@ in
|
||||
matchBlocks."router" = {
|
||||
hostname = "192.168.1.1";
|
||||
user = "root";
|
||||
localForwards = [ {
|
||||
localForwards = [{
|
||||
bind.address = "127.0.0.1";
|
||||
bind.port = 1337;
|
||||
host.address = "127.0.0.1";
|
||||
host.port = 80;
|
||||
} ];
|
||||
}];
|
||||
};
|
||||
|
||||
matchBlocks."homeserver" = {
|
||||
hostname = "192.168.0.100";
|
||||
localForwards = [ {
|
||||
localForwards = [{
|
||||
bind.address = "127.0.0.1";
|
||||
bind.port = 8385;
|
||||
host.address = "127.0.0.1";
|
||||
host.port = 8384;
|
||||
} ];
|
||||
}];
|
||||
};
|
||||
};
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "Alexander Szczepanski";
|
||||
userName = "Alexander Szczepanski";
|
||||
userEmail = "alexander@szczepan.ski";
|
||||
extraConfig = {
|
||||
core = { autocrlf = false; };
|
||||
|
@ -7,7 +7,7 @@ let
|
||||
in
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
[
|
||||
/etc/nixos/hardware-configuration.nix
|
||||
../configs/gui.nix
|
||||
../configs/docker.nix
|
||||
@ -72,8 +72,8 @@ in
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
console = {
|
||||
font = "latarcyrheb-sun32";
|
||||
keyMap = "us";
|
||||
font = "latarcyrheb-sun32";
|
||||
keyMap = "us";
|
||||
};
|
||||
|
||||
hardware = {
|
||||
@ -121,13 +121,13 @@ in
|
||||
printing.enable = true;
|
||||
xserver.videoDrivers = [ "amdgpu" ];
|
||||
xserver.deviceSection = ''
|
||||
Option "TearFree" "true"
|
||||
Option "TearFree" "true"
|
||||
'';
|
||||
hardware.xow.enable = true;
|
||||
borgbackup.jobs.home = rec {
|
||||
compression = "auto,zstd";
|
||||
encryption = {
|
||||
mode = "repokey-blake2" ;
|
||||
mode = "repokey-blake2";
|
||||
passphrase = secrets-desktop.borg-key;
|
||||
};
|
||||
extraCreateArgs = "--checkpoint-interval 600 --exclude-caches";
|
||||
|
@ -60,7 +60,7 @@
|
||||
User = "alex";
|
||||
# ExecStart="/home/alex/snapraid-sync";
|
||||
};
|
||||
path = [pkgs.bash pkgs.snapraid pkgs.curl pkgs.smartmontools pkgs.hdparm];
|
||||
path = [ pkgs.bash pkgs.snapraid pkgs.curl pkgs.smartmontools pkgs.hdparm ];
|
||||
|
||||
script = ''
|
||||
/home/alex/snapraid-sync
|
||||
@ -69,7 +69,7 @@
|
||||
|
||||
timers.snapraid-sync = {
|
||||
#enable = true;
|
||||
wantedBy = ["timers.target"];
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig = {
|
||||
OnCalendar = "Mon-Sun, 23:00";
|
||||
# Unit = "snapraid-sync.service";
|
||||
@ -95,7 +95,7 @@
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
#intel-media-driver # LIBVA_DRIVER_NAME=iHD
|
||||
vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
|
||||
vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
];
|
||||
@ -145,19 +145,20 @@
|
||||
};
|
||||
};
|
||||
|
||||
security.sudo.extraRules = [ {
|
||||
security.sudo.extraRules = [{
|
||||
users = [ "alex" ];
|
||||
commands = [ {
|
||||
commands = [{
|
||||
command = "${pkgs.hdparm}/bin/hdparm";
|
||||
options = [ "SETENV" "NOPASSWD" ];
|
||||
} ];
|
||||
} {
|
||||
users = [ "alex" ];
|
||||
commands = [ {
|
||||
command = "${pkgs.snapraid}/bin/snapraid";
|
||||
options = [ "SETENV" "NOPASSWD" ];
|
||||
} ];
|
||||
}];
|
||||
}];
|
||||
}
|
||||
{
|
||||
users = [ "alex" ];
|
||||
commands = [{
|
||||
command = "${pkgs.snapraid}/bin/snapraid";
|
||||
options = [ "SETENV" "NOPASSWD" ];
|
||||
}];
|
||||
}];
|
||||
|
||||
networking.firewall.enable = false;
|
||||
|
||||
|
@ -5,7 +5,7 @@ let
|
||||
in
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
[
|
||||
/etc/nixos/hardware-configuration.nix
|
||||
../configs/gui.nix
|
||||
../configs/common.nix
|
||||
|
@ -1,13 +1,13 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
imports =
|
||||
[
|
||||
# <nixos-hardware/common/cpu/intel>
|
||||
/etc/nixos/hardware-configuration.nix
|
||||
#../configs/docker.nix
|
||||
../configs/common.nix
|
||||
../configs/user.nix
|
||||
];
|
||||
[
|
||||
# <nixos-hardware/common/cpu/intel>
|
||||
/etc/nixos/hardware-configuration.nix
|
||||
#../configs/docker.nix
|
||||
../configs/common.nix
|
||||
../configs/user.nix
|
||||
];
|
||||
|
||||
# Boot
|
||||
boot.loader.grub.enable = false;
|
||||
@ -16,7 +16,7 @@
|
||||
|
||||
# Kernel configuration
|
||||
boot.kernelPackages = pkgs.linuxPackages_rpi4;
|
||||
boot.kernelParams = ["cma=64M" "console=tty0"];
|
||||
boot.kernelParams = [ "cma=64M" "console=tty0" ];
|
||||
|
||||
# Enable additional firmware (such as Wi-Fi drivers).
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
@ -34,13 +34,15 @@
|
||||
# };
|
||||
# };
|
||||
|
||||
swapDevices = [ { device = "/swapfile"; size = 1024; } ];
|
||||
swapDevices = [{ device = "/swapfile"; size = 1024; }];
|
||||
|
||||
networking.hostName = "raspberrypi4";
|
||||
|
||||
# Packages
|
||||
environment.systemPackages = with pkgs; [
|
||||
nano git htop
|
||||
nano
|
||||
git
|
||||
htop
|
||||
];
|
||||
|
||||
# Miscellaneous
|
||||
|
@ -11,6 +11,9 @@ let
|
||||
be = import ../configs/borg-exclude.nix;
|
||||
in
|
||||
{
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
imports =
|
||||
[
|
||||
<nixos-hardware/lenovo/thinkpad/x1-extreme>
|
||||
@ -22,15 +25,16 @@ in
|
||||
../configs/user.nix
|
||||
../configs/user-gui.nix
|
||||
../configs/user-gui-applications.nix
|
||||
../configs/bspwm.nix
|
||||
<home-manager/nixos>
|
||||
];
|
||||
|
||||
# boot.initrd.luks.devices = {
|
||||
# root = {
|
||||
# preLVM = true;
|
||||
# device = "/dev/disk/by-uuid/b59e9746-b9b4-4de1-94f6-84a387b9d72e";
|
||||
# allowDiscards = true;
|
||||
# };
|
||||
# root = {
|
||||
# preLVM = true;
|
||||
# device = "/dev/disk/by-uuid/b59e9746-b9b4-4de1-94f6-84a387b9d72e";
|
||||
# allowDiscards = true;
|
||||
# };
|
||||
# };
|
||||
|
||||
fileSystems."/".options = [ "noatime" "discard" ];
|
||||
@ -45,7 +49,7 @@ in
|
||||
grub.gfxmodeEfi = "1024x768";
|
||||
};
|
||||
kernelPackages = pkgs.linuxPackages_5_14;
|
||||
boot.plymouth.enable = true;
|
||||
plymouth.enable = true;
|
||||
};
|
||||
|
||||
networking.hostName = "thinkpad"; # Define your hostname.
|
||||
@ -59,8 +63,8 @@ in
|
||||
# Select internationalisation properties.
|
||||
# i18n.defaultLocale = "en_US.UTF-8";
|
||||
console = {
|
||||
font = "latarcyrheb-sun32";
|
||||
keyMap = "us";
|
||||
font = "latarcyrheb-sun32";
|
||||
keyMap = "us";
|
||||
};
|
||||
|
||||
hardware.nvidia.prime = {
|
||||
@ -73,40 +77,40 @@ in
|
||||
nvidiaBusId = "PCI:1:0:0";
|
||||
};
|
||||
|
||||
# hardware.bumblebee = {
|
||||
# enable = true;
|
||||
# connectDisplay = true;
|
||||
# };
|
||||
# hardware.bumblebee = {
|
||||
# enable = true;
|
||||
# connectDisplay = true;
|
||||
# };
|
||||
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
driSupport32Bit = true;
|
||||
extraPackages = with pkgs; [
|
||||
intel-media-driver # LIBVA_DRIVER_NAME=iHD
|
||||
vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
|
||||
vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
];
|
||||
};
|
||||
|
||||
nixpkgs.config.packageOverrides = pkgs: rec {
|
||||
# bumblebee = pkgs.bumblebee.override {
|
||||
# extraNvidiaDeviceOptions = ''
|
||||
# Option "ProbeAllGpus" "false"
|
||||
# Option "AllowEmptyInitialConfiguration"
|
||||
# EndSection#
|
||||
# bumblebee = pkgs.bumblebee.override {
|
||||
# extraNvidiaDeviceOptions = ''
|
||||
# Option "ProbeAllGpus" "false"
|
||||
# Option "AllowEmptyInitialConfiguration"
|
||||
# EndSection#
|
||||
|
||||
# Section "ServerLayout"
|
||||
# Identifier "Layout0"
|
||||
# Option "AutoAddDevices" "true" # Bumblebee defaults to false
|
||||
# Option "AutoAddGPU" "false"
|
||||
# EndSection
|
||||
# Section "ServerLayout"
|
||||
# Identifier "Layout0"
|
||||
# Option "AutoAddDevices" "true" # Bumblebee defaults to false
|
||||
# Option "AutoAddGPU" "false"
|
||||
# EndSection
|
||||
|
||||
# Section "Screen" # Add this section
|
||||
# Identifier "Screen0"
|
||||
# Device "DiscreteNvidia"
|
||||
# '';
|
||||
# };
|
||||
# Section "Screen" # Add this section
|
||||
# Identifier "Screen0"
|
||||
# Device "DiscreteNvidia"
|
||||
# '';
|
||||
# };
|
||||
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
|
||||
};
|
||||
|
||||
@ -120,7 +124,7 @@ in
|
||||
avoid-resampling = "yes";
|
||||
};
|
||||
};
|
||||
configFile = pkgs.runCommand "default.pa" {} ''
|
||||
configFile = pkgs.runCommand "default.pa" { } ''
|
||||
sed 's/module-udev-detect$/module-udev-detect tsched=0/' \
|
||||
${pkgs.pulseaudio}/etc/pulse/default.pa > $out
|
||||
'';
|
||||
@ -131,13 +135,13 @@ in
|
||||
thinkfan = {
|
||||
enable = true;
|
||||
levels = [
|
||||
[0 0 67]
|
||||
[1 65 75]
|
||||
[2 73 80]
|
||||
[3 78 85]
|
||||
[4 83 90]
|
||||
[6 88 95]
|
||||
[7 93 32767]
|
||||
[ 0 0 67 ]
|
||||
[ 1 65 75 ]
|
||||
[ 2 73 80 ]
|
||||
[ 3 78 85 ]
|
||||
[ 4 83 90 ]
|
||||
[ 6 88 95 ]
|
||||
[ 7 93 32767 ]
|
||||
];
|
||||
};
|
||||
xserver = {
|
||||
@ -158,13 +162,13 @@ in
|
||||
borgbackup.jobs.home = rec {
|
||||
compression = "auto,zstd";
|
||||
encryption = {
|
||||
mode = "repokey-blake2" ;
|
||||
mode = "repokey-blake2";
|
||||
passphrase = secrets-thinkpad.borg-key;
|
||||
};
|
||||
extraCreateArgs = "--list --stats --verbose --checkpoint-interval 600 --exclude-caches";
|
||||
environment.BORG_RSH = "ssh -i ~/.ssh/id_borg_rsa";
|
||||
paths = "/home/alex";
|
||||
repo = secrets-thinkpad.borg-thinkpad-key;
|
||||
repo = secrets-thinkpad.borg-repo;
|
||||
startAt = "daily";
|
||||
user = "alex";
|
||||
prune.keep = {
|
||||
|
@ -4,7 +4,7 @@ let
|
||||
in
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
[
|
||||
/etc/nixos/hardware-configuration.nix
|
||||
../configs/common.nix
|
||||
../configs/docker.nix
|
||||
@ -38,11 +38,12 @@ in
|
||||
publicKey = secrets.wireguard-desktop-public;
|
||||
presharedKey = secrets.wireguard-preshared;
|
||||
allowedIPs = [ "10.100.0.2/32" ];
|
||||
}{
|
||||
publicKey = secrets.wireguard-mini-public;
|
||||
presharedKey = secrets.wireguard-preshared;
|
||||
allowedIPs = [ "10.100.0.3/32" ];
|
||||
}];
|
||||
}
|
||||
{
|
||||
publicKey = secrets.wireguard-mini-public;
|
||||
presharedKey = secrets.wireguard-preshared;
|
||||
allowedIPs = [ "10.100.0.3/32" ];
|
||||
}];
|
||||
};
|
||||
};
|
||||
|
||||
@ -57,10 +58,6 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
environment.systemPackages = with pkgs; [
|
||||
];
|
||||
|
||||
programs.mtr.enable = true;
|
||||
|
||||
security.acme.email = "webmaster@szczepan.ski";
|
||||
@ -91,10 +88,10 @@ in
|
||||
'';
|
||||
};
|
||||
"/.well-known/carddav" = {
|
||||
return = "301 $scheme://$host/remote.php/dav";
|
||||
return = "301 $scheme://$host/remote.php/dav";
|
||||
};
|
||||
"/.well-known/caldav" = {
|
||||
return = "301 $scheme://$host/remote.php/dav";
|
||||
return = "301 $scheme://$host/remote.php/dav";
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -114,17 +111,17 @@ in
|
||||
enable = true;
|
||||
|
||||
jails.DEFAULT =
|
||||
''
|
||||
bantime = 7d
|
||||
'';
|
||||
''
|
||||
bantime = 7d
|
||||
'';
|
||||
|
||||
jails.sshd =
|
||||
''
|
||||
filter = sshd
|
||||
maxretry = 4
|
||||
action = iptables[name=ssh, port=ssh, protocol=tcp]
|
||||
enabled = true
|
||||
'';
|
||||
''
|
||||
filter = sshd
|
||||
maxretry = 4
|
||||
action = iptables[name=ssh, port=ssh, protocol=tcp]
|
||||
enabled = true
|
||||
'';
|
||||
};
|
||||
|
||||
# Limit stack size to reduce memory usage
|
||||
|
@ -1,6 +1,7 @@
|
||||
with import <nixpkgs> {};
|
||||
with import <nixpkgs> { };
|
||||
|
||||
( let
|
||||
(
|
||||
let
|
||||
idasen = pkgs.python3Packages.buildPythonPackage rec {
|
||||
name = "idasen";
|
||||
version = "v0.7.1";
|
||||
@ -20,7 +21,8 @@ with import <nixpkgs> {};
|
||||
};
|
||||
};
|
||||
|
||||
in pkgs.python3.buildEnv.override rec {
|
||||
in
|
||||
pkgs.python3.buildEnv.override rec {
|
||||
extraLibs = with pkgs.python3Packages; [ numpy toolz vpn-slice ];
|
||||
propagatedBuildInputs = with pkgs.python3Packages; [ setproctitle ];
|
||||
}
|
||||
|
Reference in New Issue
Block a user