Update
This commit is contained in:
parent
28424b82ab
commit
d816099985
90
flake.lock
90
flake.lock
@ -129,6 +129,27 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-parts_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"vpnconfinement",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1717285511,
|
||||||
|
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
@ -314,6 +335,36 @@
|
|||||||
"url": "https://github.com/hyprwm/Hyprland"
|
"url": "https://github.com/hyprwm/Hyprland"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hyprland-plugins": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprland": [
|
||||||
|
"hyprland"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland-plugins",
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland-plugins",
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1723143591,
|
||||||
|
"narHash": "sha256-dPcWAeRJoG5CyWC32X3XX+Og0v/k1/S1N0T5dQWT32k=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-plugins",
|
||||||
|
"rev": "b73d7b901d8cb1172dd25c7b7159f0242c625a77",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-plugins",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"hyprland-protocols": {
|
"hyprland-protocols": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@ -521,6 +572,22 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1717602782,
|
||||||
|
"narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixvim": {
|
"nixvim": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"devshell": "devshell",
|
"devshell": "devshell",
|
||||||
@ -588,11 +655,13 @@
|
|||||||
"apple-fonts": "apple-fonts",
|
"apple-fonts": "apple-fonts",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
|
"hyprland-plugins": "hyprland-plugins",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"spicetify-nix": "spicetify-nix"
|
"spicetify-nix": "spicetify-nix",
|
||||||
|
"vpnconfinement": "vpnconfinement"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sf-arabic": {
|
"sf-arabic": {
|
||||||
@ -751,6 +820,25 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"vpnconfinement": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": "flake-parts_2",
|
||||||
|
"nixpkgs": "nixpkgs_4"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1718924235,
|
||||||
|
"narHash": "sha256-lu78iQzZGBE9bIvlYgbBYiJ85wR5zSBUPjIQkg6cRQc=",
|
||||||
|
"owner": "Maroka-chan",
|
||||||
|
"repo": "VPN-Confinement",
|
||||||
|
"rev": "790f70888c69d55c92442e702647dc619dd7bc61",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Maroka-chan",
|
||||||
|
"repo": "VPN-Confinement",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"xdph": {
|
"xdph": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprland-protocols": "hyprland-protocols",
|
"hyprland-protocols": "hyprland-protocols",
|
||||||
|
@ -25,8 +25,12 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
||||||
|
hyprland-plugins = {
|
||||||
|
url = "github:hyprwm/hyprland-plugins";
|
||||||
|
inputs.hyprland.follows = "hyprland";
|
||||||
|
};
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||||
nixarr.url = "github:rasmus-kirk/nixarr";
|
vpnconfinement.url = "github:Maroka-chan/VPN-Confinement";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ nixpkgs, ... }: {
|
outputs = inputs@{ nixpkgs, ... }: {
|
||||||
@ -48,7 +52,7 @@
|
|||||||
{ _module.args = { inherit inputs; }; }
|
{ _module.args = { inherit inputs; }; }
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
inputs.nixarr.nixosModules.default
|
inputs.vpnconfinement.nixosModules.default
|
||||||
./hosts/server/configuration.nix
|
./hosts/server/configuration.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
|
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
|
||||||
|
# plugins = [ inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo ]; # TODO: Fix, stack overflow
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
"$mod" = "SUPER";
|
"$mod" = "SUPER";
|
||||||
@ -111,7 +112,10 @@
|
|||||||
"GTK2_RC_FILES,/home/hadi/.local/share/themes/FlatColor/gtk-2.0/gtkrc"
|
"GTK2_RC_FILES,/home/hadi/.local/share/themes/FlatColor/gtk-2.0/gtkrc"
|
||||||
];
|
];
|
||||||
|
|
||||||
cursor = { no_hardware_cursors = true; };
|
cursor = {
|
||||||
|
no_hardware_cursors = true;
|
||||||
|
default_monitor = "eDP-2";
|
||||||
|
};
|
||||||
|
|
||||||
general = {
|
general = {
|
||||||
resize_on_border = true;
|
resize_on_border = true;
|
||||||
@ -133,7 +137,11 @@
|
|||||||
blur = { enabled = false; };
|
blur = { enabled = false; };
|
||||||
};
|
};
|
||||||
|
|
||||||
master = { new_status = true; };
|
master = {
|
||||||
|
new_status = true;
|
||||||
|
allow_small_split = true;
|
||||||
|
mfact = 0.5;
|
||||||
|
};
|
||||||
|
|
||||||
gestures = { workspace_swipe = true; };
|
gestures = { workspace_swipe = true; };
|
||||||
|
|
||||||
|
@ -3,18 +3,24 @@
|
|||||||
services.hypridle = {
|
services.hypridle = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
general = { ignore_dbus_inhibit = false; };
|
|
||||||
listener = [{
|
general = {
|
||||||
|
ignore_dbus_inhibit = false;
|
||||||
|
lock_cmd = "pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
|
||||||
|
before_sleep_cmd = "loginctl lock-session";
|
||||||
|
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||||
|
};
|
||||||
|
|
||||||
|
listener = [
|
||||||
|
{
|
||||||
timeout = 600;
|
timeout = 600;
|
||||||
on-timeout = pkgs.hyprlock + "/bin/hyprlock";
|
on-timeout = "pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
|
||||||
}
|
}
|
||||||
|
|
||||||
# {
|
{
|
||||||
# timeout = 660;
|
timeout = 660;
|
||||||
# on-timeout = "systemctl suspend";
|
on-timeout = "systemctl suspend";
|
||||||
# on-resume = pkgs.libnotify
|
}
|
||||||
# + "/bin/notify-send 'Welcome back to your desktop!'";
|
|
||||||
# }
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
services.bazarr = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,34 +1,70 @@
|
|||||||
{ config, ... }: {
|
let
|
||||||
nixarr = {
|
exposed = false; # Expose jellyfin to the internet
|
||||||
enable = true;
|
|
||||||
mediaDir = "/data/media";
|
|
||||||
stateDir = "/data/media/.state/nixarr";
|
|
||||||
|
|
||||||
vpn = {
|
vpn = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wgConf = "/data/.secret/wg.conf";
|
wg-config = "/etc/wireguard/wg0.conf";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
root_folder = "/data";
|
||||||
|
in {
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d /data 0755 nixarr nixarr"
|
||||||
|
"d /data/media 0755 nixarr nixarr"
|
||||||
|
"d /data/radarr 0755 nixarr nixarr"
|
||||||
|
"d /data/sonarr 0755 nixarr nixarr"
|
||||||
|
];
|
||||||
|
|
||||||
|
users = {
|
||||||
|
groups.nixarr = { };
|
||||||
|
users.nixarr = {
|
||||||
|
isSystemUser = true;
|
||||||
|
home = root_folder;
|
||||||
|
hashedPassword =
|
||||||
|
"$y$j9T$9.hOJCwwmryq3PzEOGtjZ.$hu/76TghEjongcbls7oDoN2GWRqg8AwCknq.CS0zB.8";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
jellyfin = {
|
jellyfin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
expose.https = {
|
user = "jackflix";
|
||||||
enable = true;
|
group = "media";
|
||||||
domainName = "media.anotherhadi.com";
|
openFirewall = true;
|
||||||
acmeMail = config.var.git.email; # Required for ACME-bot
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
jellyseerr = {
|
||||||
|
enable = true;
|
||||||
|
port = 5055;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
prowlarr = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
radarr = {
|
||||||
|
enable = true;
|
||||||
|
user = "jackflix";
|
||||||
|
group = "media";
|
||||||
|
dataDir = "/data/media/radarr";
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
sonarr = {
|
||||||
|
enable = true;
|
||||||
|
user = "jackflix";
|
||||||
|
group = "media";
|
||||||
|
dataDir = "/data/media/sonarr";
|
||||||
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
transmission = {
|
transmission = {
|
||||||
enable = true;
|
enable = true;
|
||||||
vpn.enable = true;
|
user = "jackflix";
|
||||||
peerPort = 50000;
|
group = "media";
|
||||||
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
bazarr.enable = true;
|
|
||||||
lidarr.enable = true;
|
|
||||||
prowlarr.enable = true;
|
|
||||||
radarr.enable = true;
|
|
||||||
readarr.enable = true;
|
|
||||||
sonarr.enable = true;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
# {
|
|
||||||
# imports = [
|
|
||||||
# ./jellyfin.nix
|
|
||||||
# # ./jellyseerr.nix
|
|
||||||
# # ./prowlarr.nix
|
|
||||||
# # ./radarr.nix
|
|
||||||
# # ./sonarr.nix
|
|
||||||
# # ./transmission.nix
|
|
||||||
# ];
|
|
||||||
#
|
|
||||||
# users.groups = { jackflix = { }; };
|
|
||||||
#
|
|
||||||
# users.users.jackflix = {
|
|
||||||
# isNormalUser = true;
|
|
||||||
# home = "/home/jackflix";
|
|
||||||
# description = "My own netflix";
|
|
||||||
# hashedPassword =
|
|
||||||
# "$y$j9T$9.hOJCwwmryq3PzEOGtjZ.$hu/76TghEjongcbls7oDoN2GWRqg8AwCknq.CS0zB.8";
|
|
||||||
# extraGroups = [ "docker" "jackflix" ];
|
|
||||||
# };
|
|
||||||
# }
|
|
@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
services.jellyfin = {
|
|
||||||
enable = true;
|
|
||||||
user = "jackflix";
|
|
||||||
group = "jackflix";
|
|
||||||
dataDir = "/home/jackflix/jellyfin/data";
|
|
||||||
cacheDir = "/home/jackflix/jellyfin/cache";
|
|
||||||
logDir = "/home/jackflix/jellyfin/log";
|
|
||||||
configDir = "/home/jackflix/jellyfin/config";
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
services.jellyseerr = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
services.prowlarr = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
services.radarr = {
|
|
||||||
enable = true;
|
|
||||||
user = "jackflix";
|
|
||||||
group = "jackflix";
|
|
||||||
dataDir = "/home/jackflix/radarr";
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
services.sonarr = {
|
|
||||||
enable = true;
|
|
||||||
user = "jackflix";
|
|
||||||
group = "jackflix";
|
|
||||||
dataDir = "/home/jackflix/sonarr";
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user