backups n stuff
This commit is contained in:
60
flake.lock
generated
60
flake.lock
generated
@@ -11,11 +11,11 @@
|
|||||||
"yafas": "yafas"
|
"yafas": "yafas"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1722126515,
|
"lastModified": 1722269440,
|
||||||
"narHash": "sha256-Pz8/0lFWhoHOReOJwbf4Fbx0ANGWc306QnuUeMR9keU=",
|
"narHash": "sha256-eUzqnxgHIfxGcXk0SwXwP011uQ41WOEHX+gg1uPSkcE=",
|
||||||
"owner": "chaotic-cx",
|
"owner": "chaotic-cx",
|
||||||
"repo": "nyx",
|
"repo": "nyx",
|
||||||
"rev": "d11e6cfcb6c09dbb9ae0265cfe7a684bcde02ec6",
|
"rev": "a383380ec33f66ef92c4e815260271f6ad7cf286",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -46,11 +46,11 @@
|
|||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1721160462,
|
"lastModified": 1722449994,
|
||||||
"narHash": "sha256-/VxDWswjySr3CUuMRP4OBBP3sFSps7r1Bh/AJkZSdVk=",
|
"narHash": "sha256-xcpJE83RMrMPcfmoSScTs8yxGGIexOaHCt2lb3rKzzU=",
|
||||||
"owner": "lilyinstarlight",
|
"owner": "lilyinstarlight",
|
||||||
"repo": "nixos-cosmic",
|
"repo": "nixos-cosmic",
|
||||||
"rev": "b2d62f3b793495c1156cba6a99512cd95ac2c439",
|
"rev": "7bccbcaafaf1e1e8077c0440c9e2defc8f5a2a75",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -251,11 +251,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1722067813,
|
"lastModified": 1722119539,
|
||||||
"narHash": "sha256-nxpzoKXwn+8RsxpxwD86mtEscOMw64ZD/vGSNWzGMlA=",
|
"narHash": "sha256-2kU90liMle0vKR8exJx1XM4hZh9CdNgZGHCTbeA9yzY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "975b83ca560d17db51a66cb2b0dc0e44213eab27",
|
"rev": "d0240a064db3987eb4d5204cf2400bc4452d9922",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -292,11 +292,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1722119539,
|
"lastModified": 1722407237,
|
||||||
"narHash": "sha256-2kU90liMle0vKR8exJx1XM4hZh9CdNgZGHCTbeA9yzY=",
|
"narHash": "sha256-wcpVHUc2nBSSgOM7UJSpcRbyus4duREF31xlzHV5T+A=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "d0240a064db3987eb4d5204cf2400bc4452d9922",
|
"rev": "58cef3796271aaeabaed98884d4abaab5d9d162d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -417,11 +417,11 @@
|
|||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1722082646,
|
"lastModified": 1722445220,
|
||||||
"narHash": "sha256-od8dBWVP/ngg0cuoyEl/w9D+TCNDj6Kh4tr151Aax7w=",
|
"narHash": "sha256-PW5FRqLhqg0xGpPjY2Poa464tyBQiyKd0tQGZ0HnMiU=",
|
||||||
"owner": "LnL7",
|
"owner": "LnL7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "0413754b3cdb879ba14f6e96915e5fdf06c6aab6",
|
"rev": "7e08a9dd34314fb8051c28b231a68726c54daa7b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -495,11 +495,11 @@
|
|||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1722114937,
|
"lastModified": 1722332872,
|
||||||
"narHash": "sha256-MOZ9woPwdpFJcHx3wic2Mlw9aztdKjMnFT3FaeLzJkM=",
|
"narHash": "sha256-2xLM4sc5QBfi0U/AANJAW21Bj4ZX479MHPMPkB+eKBU=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "e67b60fb1b2c3aad2202d95b91d4c218cf2a4fdd",
|
"rev": "14c333162ba53c02853add87a0000cbd7aa230c2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -527,11 +527,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1720954236,
|
"lastModified": 1722221733,
|
||||||
"narHash": "sha256-1mEKHp4m9brvfQ0rjCca8P1WHpymK3TOr3v34ydv9bs=",
|
"narHash": "sha256-sga9SrrPb+pQJxG1ttJfMPheZvDOxApFfwXCFO0H9xw=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "53e81e790209e41f0c1efa9ff26ff2fd7ab35e27",
|
"rev": "12bf09802d77264e441f48e25459c10c93eada2e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -559,11 +559,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable_3": {
|
"nixpkgs-stable_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1722087241,
|
"lastModified": 1722221733,
|
||||||
"narHash": "sha256-2ShmEaFi0kJVOEEu5gmlykN5dwjWYWYUJmlRTvZQRpU=",
|
"narHash": "sha256-sga9SrrPb+pQJxG1ttJfMPheZvDOxApFfwXCFO0H9xw=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "8c50662509100d53229d4be607f1a3a31157fa12",
|
"rev": "12bf09802d77264e441f48e25459c10c93eada2e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -575,11 +575,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1722062969,
|
"lastModified": 1722185531,
|
||||||
"narHash": "sha256-QOS0ykELUmPbrrUGmegAUlpmUFznDQeR4q7rFhl8eQg=",
|
"narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b73c2221a46c13557b1b3be9c2070cc42cf01eb3",
|
"rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -591,11 +591,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1720957393,
|
"lastModified": 1722185531,
|
||||||
"narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=",
|
"narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "693bc46d169f5af9c992095736e82c3488bf7dbb",
|
"rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -84,6 +84,67 @@ in
|
|||||||
desktopManager.plasma6.enable = false;
|
desktopManager.plasma6.enable = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hyprland.configuration = {
|
||||||
|
services = {
|
||||||
|
displayManager.sddm.enable = true;
|
||||||
|
displayManager.defaultSession = "hyprland";
|
||||||
|
# disable plasma
|
||||||
|
desktopManager.plasma6.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Hint Electon apps to use wayland
|
||||||
|
environment.sessionVariables = {
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
hyprland
|
||||||
|
swww # for wallpapers
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
xdg-desktop-portal-hyprland
|
||||||
|
xwayland
|
||||||
|
meson
|
||||||
|
wayland-protocols
|
||||||
|
wayland-utils
|
||||||
|
wl-clipboard
|
||||||
|
wlroots
|
||||||
|
networkmanagerapplet
|
||||||
|
kitty
|
||||||
|
rofi-wayland
|
||||||
|
wofi
|
||||||
|
dunst
|
||||||
|
libnotify
|
||||||
|
waybar
|
||||||
|
];
|
||||||
|
|
||||||
|
services.dbus.enable = true;
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
wlr.enable = true;
|
||||||
|
extraPortals = [
|
||||||
|
pkgs.xdg-desktop-portal-gtk
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts.fonts = with pkgs; [
|
||||||
|
nerdfonts
|
||||||
|
meslo-lgs-nf
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(self: super: {
|
||||||
|
waybar = super.waybar.overrideAttrs (oldAttrs: {
|
||||||
|
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
|
||||||
|
});
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
apps.discover-wrapped.enable = false;
|
apps.discover-wrapped.enable = false;
|
||||||
@@ -154,27 +215,38 @@ in
|
|||||||
ratbagd.enable = true;
|
ratbagd.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services = {
|
systemd = {
|
||||||
fix-wifi = {
|
services = {
|
||||||
path = [
|
fix-wifi = {
|
||||||
pkgs.bash
|
path = [
|
||||||
pkgs.networkmanager
|
pkgs.bash
|
||||||
pkgs.kmod
|
pkgs.networkmanager
|
||||||
];
|
pkgs.kmod
|
||||||
wantedBy = [ "multi-user.target" ];
|
];
|
||||||
after = [ "network.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
serviceConfig = {
|
after = [ "network.target" ];
|
||||||
Type = "oneshot";
|
serviceConfig = {
|
||||||
ExecStart = [ "${resetNetworkScript}/bin/reset-network" ];
|
Type = "oneshot";
|
||||||
|
ExecStart = [ "${resetNetworkScript}/bin/reset-network" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# rsync-home = {
|
user.services = {
|
||||||
# path = [ pkgs.bash pkgs.rsync ];
|
rclone-home-proton = {
|
||||||
# script = ''
|
path = [ pkgs.bash pkgs.rclone ];
|
||||||
# rsync -rtpogv --progress --ignore-existing --exclude={'/home/matt/Games/*', '/home/matt/1TB/*'} -lHzs /home/matt /media/nas/backup/desktop-nix/home
|
script = ''
|
||||||
# '';
|
rclone sync /home/matt proton-drive:backup-nix --exclude '/home/matt/Games/**' --exclude '/home/matt/1TB/**' --exclude '/home/matt/Downloads/**'
|
||||||
# };
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
rsync-home = {
|
||||||
|
path = [ pkgs.bash pkgs.rsync pkgs.openssh ];
|
||||||
|
script = ''
|
||||||
|
rsync -rtpogvPlHzs --ignore-existing --exclude={'/home/matt/Games', '/home/matt/1TB', '/home/matt/Downloads/*', '/home/matt/.cache'} -e ssh /home/matt admin@10.0.1.18:/media/nas/main/backup/desktop-nix/home
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Networking configs
|
# Networking configs
|
||||||
@@ -218,8 +290,11 @@ in
|
|||||||
nano
|
nano
|
||||||
onlyoffice-bin
|
onlyoffice-bin
|
||||||
os-prober
|
os-prober
|
||||||
|
nil
|
||||||
papirus-icon-theme
|
papirus-icon-theme
|
||||||
pciutils
|
pciutils
|
||||||
|
rclone
|
||||||
|
rclone-browser
|
||||||
rsync
|
rsync
|
||||||
sbctl
|
sbctl
|
||||||
vim
|
vim
|
||||||
@@ -248,6 +323,7 @@ in
|
|||||||
"wheel"
|
"wheel"
|
||||||
"networkmanager"
|
"networkmanager"
|
||||||
"ratbagd"
|
"ratbagd"
|
||||||
|
"input"
|
||||||
]; # Enable ‘sudo’ for the user.
|
]; # Enable ‘sudo’ for the user.
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
# let
|
|
||||||
# gnome = false;
|
|
||||||
# in
|
|
||||||
{
|
{
|
||||||
|
|
||||||
home.username = "matt";
|
home.username = "matt";
|
||||||
@@ -23,6 +20,7 @@
|
|||||||
shellAliases = {
|
shellAliases = {
|
||||||
ll = "ls -alh";
|
ll = "ls -alh";
|
||||||
update = "sudo nixos-rebuild switch";
|
update = "sudo nixos-rebuild switch";
|
||||||
|
update-flake = "sudo nix flake update ~/nix-config";
|
||||||
update-specialisation = "sudo nixos-rebuild switch --specialisation";
|
update-specialisation = "sudo nixos-rebuild switch --specialisation";
|
||||||
nas-update = "nixos-rebuild switch --use-remote-sudo --target-host admin@jallen-nas.local --build-host localhost --flake ~/nix-config#jallen-nas";
|
nas-update = "nixos-rebuild switch --use-remote-sudo --target-host admin@jallen-nas.local --build-host localhost --flake ~/nix-config#jallen-nas";
|
||||||
nas-ssh = "ssh admin@jallen-nas.local";
|
nas-ssh = "ssh admin@jallen-nas.local";
|
||||||
@@ -68,6 +66,7 @@
|
|||||||
gamescope-wsi_git
|
gamescope-wsi_git
|
||||||
goverlay
|
goverlay
|
||||||
heroic
|
heroic
|
||||||
|
home-manager
|
||||||
libreoffice-qt6-fresh
|
libreoffice-qt6-fresh
|
||||||
lm_sensors
|
lm_sensors
|
||||||
lutris
|
lutris
|
||||||
@@ -84,6 +83,11 @@
|
|||||||
protonvpn-gui
|
protonvpn-gui
|
||||||
protonvpn-gui
|
protonvpn-gui
|
||||||
python3
|
python3
|
||||||
|
python312Packages.tox
|
||||||
|
python312Packages.setuptools
|
||||||
|
python312Packages.pytest
|
||||||
|
python312Packages.pytest-cov
|
||||||
|
python312Packages.pyaml
|
||||||
spotify
|
spotify
|
||||||
tree
|
tree
|
||||||
virt-manager
|
virt-manager
|
||||||
@@ -124,4 +128,32 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
specialisation.hyprland.configuration = {
|
||||||
|
wayland.windowManager.hyprland.enable = true;
|
||||||
|
wayland.windowManager.hyprland.settings = {
|
||||||
|
"$mod" = "SUPER";
|
||||||
|
bind =
|
||||||
|
[
|
||||||
|
"$mod, F, exec, firefox"
|
||||||
|
", Print, exec, grimblast 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 [
|
||||||
|
"$mod, ${ws}, workspace, ${toString (x + 1)}"
|
||||||
|
"$mod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}"
|
||||||
|
]
|
||||||
|
)
|
||||||
|
10)
|
||||||
|
);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -97,6 +97,7 @@ in
|
|||||||
nodejs-18_x
|
nodejs-18_x
|
||||||
nut
|
nut
|
||||||
nmon
|
nmon
|
||||||
|
pass
|
||||||
protonvpn-cli
|
protonvpn-cli
|
||||||
protonmail-bridge
|
protonmail-bridge
|
||||||
pass
|
pass
|
||||||
@@ -147,6 +148,7 @@ in
|
|||||||
# Admin account
|
# Admin account
|
||||||
users."${user}" = {
|
users."${user}" = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
|
linger = true;
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"wheel"
|
"wheel"
|
||||||
"networkmanager"
|
"networkmanager"
|
||||||
|
|||||||
@@ -88,7 +88,16 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ { device = "/dev/disk/by-uuid/c08ba901-a8a9-4006-9688-002bb24da1b6"; } ];
|
swapDevices = [
|
||||||
|
{
|
||||||
|
device = "/dev/disk/by-id/ata-Samsung_SSD_860_EVO_500GB_S3Z1NW0KA10457X-part2";
|
||||||
|
randomEncryption.enable = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
device = "/dev/disk/by-id/ata-SSD2SC240G1SA754D117-820_PNY29140000558890457";
|
||||||
|
randomEncryption.enable = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|||||||
@@ -155,9 +155,28 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.user.services = {
|
||||||
|
protonmail-bridge = {
|
||||||
|
description = "Protonmail Bridge";
|
||||||
|
enable = true;
|
||||||
|
script = "${pkgs.protonmail-bridge}/bin/protonmail-bridge --noninteractive";
|
||||||
|
path = [ pkgs.pass pkgs.protonmail-bridge ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
partOf = [ "multi-user.target" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
systemd.services = {
|
systemd.services = {
|
||||||
|
|
||||||
|
rsync-ssd = {
|
||||||
|
path = [ pkgs.bash pkgs.rsync ];
|
||||||
|
script = ''
|
||||||
|
rsync -rtpogvPlHzs --ignore-existing /media/nas/ssd /media/nas/main/backup/ssd
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
tailscale-autoconnect = {
|
tailscale-autoconnect = {
|
||||||
|
enable = false;
|
||||||
description = "Automatic connection to Tailscale";
|
description = "Automatic connection to Tailscale";
|
||||||
|
|
||||||
# make sure tailscale is running before trying to connect to tailscale
|
# make sure tailscale is running before trying to connect to tailscale
|
||||||
|
|||||||
Reference in New Issue
Block a user