feat!(flake): update homix
Update flake (`neovim-nightly-overlay` is fixed) Format all `.nix` files Unify package/module argument order: - `inputs`, `outputs`, `lib`, `pkgs`, `config`, ... Move Jellyfin config to a `NixOS` module (first one, yay) Add `direnv` to `reo101-shell` modules (was used, but not defined as wanted) - TODO: make it optional (module config options)
This commit is contained in:
parent
6a0898753d
commit
df9ce2d4e2
17 changed files with 194 additions and 158 deletions
47
flake.lock
47
flake.lock
|
@ -22,6 +22,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"diffz": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1676154556,
|
||||
"narHash": "sha256-foiZMt5GBbbLEZPPK/qgkjQ6FCj2rLPniaF8rC5Z56w=",
|
||||
"owner": "ziglibs",
|
||||
"repo": "diffz",
|
||||
"rev": "f25b31c4f8d06bc134018133a2d57b6dcbb6941e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ziglibs",
|
||||
"repo": "diffz",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -215,11 +231,11 @@
|
|||
},
|
||||
"locked": {
|
||||
"dir": "contrib",
|
||||
"lastModified": 1675657440,
|
||||
"narHash": "sha256-UkEa4LKXLNglbn5U2o/zee9AePaVVzLkhe06rv6jtDg=",
|
||||
"lastModified": 1676135764,
|
||||
"narHash": "sha256-hsvokBMpst2PNY5s4kK5ioLUPgrZCFTmqzlAzWhg2tU=",
|
||||
"owner": "neovim",
|
||||
"repo": "neovim",
|
||||
"rev": "6c39edaa7e5060cedfbbf61e88f4aad20fdff73d",
|
||||
"rev": "3a5dddf24f9d4d8959194b0cd3c6a7dd0cbd73ae",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -236,11 +252,11 @@
|
|||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1675671305,
|
||||
"narHash": "sha256-AUcqYR+hZsGz0LCA+FNXejCEToLRceFXia4zMqxh2KE=",
|
||||
"lastModified": 1676234956,
|
||||
"narHash": "sha256-T9YgPMgos3N/2uOtJjnrcj6Q1EZMnB48DPXNGWJ53+c=",
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"rev": "3660ca973f7f9608855abc497626776745c701e3",
|
||||
"rev": "00dbc7537c2012fabd1e414e2ca3314ce5281959",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -354,11 +370,11 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1675545634,
|
||||
"narHash": "sha256-TbQeQcM5TA/wIho6xtzG+inUfiGzUXi8ewwttiQWYJE=",
|
||||
"lastModified": 1676110339,
|
||||
"narHash": "sha256-kOS/L8OOL2odpCOM11IevfHxcUeE0vnZUQ74EOiwXcs=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0591d6b57bfeb55dfeec99a671843337bc2c3323",
|
||||
"rev": "e5530aba13caff5a4f41713f1265b754dc2abfd8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -505,11 +521,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1675685322,
|
||||
"narHash": "sha256-iQLyJcfDd5+mRF8b9sT4R/tLhwkTYOxKoaqgoAovlKo=",
|
||||
"lastModified": 1676203669,
|
||||
"narHash": "sha256-NfCgGW/7TtGo1zrqErLA6YfZ+Wp22VVZL4l0BdKDEeU=",
|
||||
"owner": "mitchellh",
|
||||
"repo": "zig-overlay",
|
||||
"rev": "2c7f714a6c7fdc85289d3dc201510ea7396656b5",
|
||||
"rev": "e833895bbdd7113885cbf4330601826cc17db8ab",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -543,6 +559,7 @@
|
|||
},
|
||||
"zls-overlay": {
|
||||
"inputs": {
|
||||
"diffz": "diffz",
|
||||
"flake-utils": "flake-utils_3",
|
||||
"gitignore": "gitignore",
|
||||
"known-folders": "known-folders",
|
||||
|
@ -553,11 +570,11 @@
|
|||
"zig-overlay": "zig-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1675675529,
|
||||
"narHash": "sha256-b9Pl7J46NR5SM7ZnNnOhHssJlJh1sAiz1jF5q/otso4=",
|
||||
"lastModified": 1676154655,
|
||||
"narHash": "sha256-6Qqjij5cgKkLyfnT0rFHhvSGu5NV1J+1eoTi6oI97kg=",
|
||||
"owner": "zigtools",
|
||||
"repo": "zls",
|
||||
"rev": "1b3274aa9c4c79ece06427b1367d392b3849dfb0",
|
||||
"rev": "7919da5054a6e6ac100097f762e7abe96628eef0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
58
flake.nix
58
flake.nix
|
@ -64,8 +64,8 @@
|
|||
, nix-on-droid
|
||||
, nix-darwin
|
||||
, home-manager
|
||||
# , hardware
|
||||
# , nix-colors
|
||||
# , hardware
|
||||
# , nix-colors
|
||||
, neovim-nightly-overlay
|
||||
, zig-overlay
|
||||
, zls-overlay
|
||||
|
@ -93,7 +93,7 @@
|
|||
);
|
||||
|
||||
# Apps (`nix run`)
|
||||
apps = {};
|
||||
apps = { };
|
||||
|
||||
# Dev Shells (`nix develop`)
|
||||
devShells = forEachPkgs (pkgs:
|
||||
|
@ -119,13 +119,13 @@
|
|||
|
||||
# Machines
|
||||
machines = recurseDir ./machines;
|
||||
homeManagerMachines = machines.home-manager or {};
|
||||
nixDarwinMachines = machines.nix-darwin or {};
|
||||
nixOnDroidMachines = machines.nix-on-droid or {};
|
||||
nixosMachines = machines.nixos or {};
|
||||
homeManagerMachines = machines.home-manager or { };
|
||||
nixDarwinMachines = machines.nix-darwin or { };
|
||||
nixOnDroidMachines = machines.nix-on-droid or { };
|
||||
nixosMachines = machines.nixos or { };
|
||||
|
||||
# mkHost helpers
|
||||
mkNixosHost = system: hostname: users: nixpkgs.lib.nixosSystem {
|
||||
mkNixosHost = system: hostname: users: lib.nixosSystem {
|
||||
inherit system;
|
||||
|
||||
modules = [
|
||||
|
@ -135,7 +135,7 @@
|
|||
home-manager = {
|
||||
useGlobalPkgs = false;
|
||||
useUserPackages = true;
|
||||
users = nixpkgs.lib.attrsets.genAttrs
|
||||
users = lib.attrsets.genAttrs
|
||||
users
|
||||
(user: import ./machines/nixos/${system}/${hostname}/home/${user}.nix);
|
||||
|
||||
|
@ -183,7 +183,7 @@
|
|||
home-manager = {
|
||||
useGlobalPkgs = false;
|
||||
useUserPackages = true;
|
||||
users = nixpkgs.lib.attrsets.genAttrs
|
||||
users = lib.attrsets.genAttrs
|
||||
users
|
||||
(user: import ./machines/nix-darwin/${system}/${hostname}/home/${user}.nix);
|
||||
|
||||
|
@ -208,21 +208,21 @@
|
|||
|
||||
createConfigurations =
|
||||
pred: mkHost: machines:
|
||||
nixpkgs.lib.foldAttrs
|
||||
(acc: x: acc)
|
||||
[]
|
||||
(builtins.attrValues
|
||||
(builtins.mapAttrs
|
||||
(system: hosts:
|
||||
nixpkgs.lib.attrsets.filterAttrs
|
||||
(host: config: config != null)
|
||||
(builtins.mapAttrs
|
||||
(host: config:
|
||||
if (pred system host config)
|
||||
then mkHost system host config
|
||||
else null)
|
||||
hosts))
|
||||
machines));
|
||||
lib.foldAttrs
|
||||
(acc: x: acc)
|
||||
[ ]
|
||||
(builtins.attrValues
|
||||
(builtins.mapAttrs
|
||||
(system: hosts:
|
||||
lib.attrsets.filterAttrs
|
||||
(host: config: config != null)
|
||||
(builtins.mapAttrs
|
||||
(host: config:
|
||||
if (pred system host config)
|
||||
then mkHost system host config
|
||||
else null)
|
||||
hosts))
|
||||
machines));
|
||||
|
||||
# Final configurations
|
||||
nixosConfigurations =
|
||||
|
@ -236,8 +236,8 @@
|
|||
system
|
||||
host
|
||||
(builtins.map
|
||||
(nixpkgs.lib.strings.removeSuffix ".nix")
|
||||
(builtins.attrNames (config."home" or {}))))
|
||||
(lib.strings.removeSuffix ".nix")
|
||||
(builtins.attrNames (config."home" or { }))))
|
||||
nixosMachines;
|
||||
|
||||
nixOnDroidConfigurations =
|
||||
|
@ -263,8 +263,8 @@
|
|||
system
|
||||
host
|
||||
(builtins.map
|
||||
(nixpkgs.lib.strings.removeSuffix ".nix")
|
||||
(builtins.attrNames (config."home" or {}))))
|
||||
(lib.strings.removeSuffix ".nix")
|
||||
(builtins.attrNames (config."home" or { }))))
|
||||
nixDarwinMachines;
|
||||
|
||||
homeConfigurations =
|
||||
|
|
|
@ -9,8 +9,8 @@ rec {
|
|||
mapAttrs
|
||||
(file: type:
|
||||
if type == "directory"
|
||||
then recurseDir "${dir}/${file}"
|
||||
else type
|
||||
then recurseDir "${dir}/${file}"
|
||||
else type
|
||||
)
|
||||
(builtins.readDir dir);
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# This is your home-manager configuration file
|
||||
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
|
||||
|
||||
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||
{ inputs, outputs, lib, pkgs, config, ... }: {
|
||||
# You can import other home-manager modules here
|
||||
imports = [
|
||||
# If you want to use modules your own flake exports (from modules/home-manager):
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ inputs, outputs, lib, config, pkgs, ... }:
|
||||
{ inputs, outputs, lib, pkgs, config, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [];
|
||||
environment.systemPackages = with pkgs; [ ];
|
||||
|
||||
# environment.darwinConfig = builtins.toString ./configuration.nix;
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
|||
nix.package = pkgs.nix;
|
||||
|
||||
# Create /etc/zshrc that loads the nix-darwin environment.
|
||||
programs.zsh.enable = true; # default shell on catalina
|
||||
programs.zsh.enable = true; # default shell on catalina
|
||||
|
||||
# Fonts
|
||||
fonts.fontDir.enable = true;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ inputs, lib, config, pkgs, ... }:
|
||||
{ inputs, outputs, lib, pkgs, config, ... }:
|
||||
|
||||
{
|
||||
home = {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ inputs, outputs, lib, config, pkgs, ... }:
|
||||
{ inputs, outputs, lib, pkgs, config, ... }:
|
||||
|
||||
{
|
||||
environment.packages = with pkgs; [];
|
||||
environment.packages = with pkgs; [ ];
|
||||
|
||||
# Backup etc files instead of failing to activate generation if a file already exists in /etc
|
||||
environment.etcBackupExtension = ".bak";
|
||||
|
@ -30,7 +30,7 @@
|
|||
};
|
||||
fontPath = "share/fonts/truetype/NerdFonts/Fira Code Regular Nerd Font Complete Mono.ttf";
|
||||
in
|
||||
"${firacode}/${fontPath}";
|
||||
"${firacode}/${fontPath}";
|
||||
|
||||
home-manager = {
|
||||
config = ./home.nix;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ inputs, lib, config, pkgs, ... }:
|
||||
{ inputs, outputs, lib, pkgs, config, ... }:
|
||||
|
||||
{
|
||||
# Home Manager needs a bit of information about you and the
|
||||
|
@ -84,12 +84,12 @@
|
|||
# neovimRcContent = "";
|
||||
|
||||
extraPackages = with pkgs; [
|
||||
tree-sitter
|
||||
rnix-lsp
|
||||
# sumneko-lua-language-server
|
||||
# stylua
|
||||
# texlab
|
||||
# rust-analyzer
|
||||
tree-sitter
|
||||
rnix-lsp
|
||||
# sumneko-lua-language-server
|
||||
# stylua
|
||||
# texlab
|
||||
# rust-analyzer
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -279,7 +279,7 @@
|
|||
};
|
||||
|
||||
custom.local = {
|
||||
shell = ["zsh" "-d" "-f"];
|
||||
shell = [ "zsh" "-d" "-f" ];
|
||||
when = ''[[ -z "$SSH_CLIENT" ]] && [[ `whoami` != "root" ]]'';
|
||||
format = "[$symbol$output]($style)[@](bold yellow)";
|
||||
command = "whoami";
|
||||
|
@ -288,7 +288,7 @@
|
|||
};
|
||||
|
||||
custom.local_root = {
|
||||
shell = ["zsh" "-d" "-f"];
|
||||
shell = [ "zsh" "-d" "-f" ];
|
||||
when = ''[[ -z "$SSH_CLIENT" ]] && [[ `whoami` == "root" ]]'';
|
||||
format = "[ $output ]($style)[@](bold yellow)";
|
||||
command = "whoami";
|
||||
|
@ -296,7 +296,7 @@
|
|||
};
|
||||
|
||||
custom.ssh = {
|
||||
shell = ["zsh" "-d" "-f"];
|
||||
shell = [ "zsh" "-d" "-f" ];
|
||||
when = ''[[ -n "$SSH_CLIENT" ]] && [[ `whoami` != "root" ]]'';
|
||||
format = "[ $symbol$output ]($style)[@](bold yellow)";
|
||||
command = "whoami";
|
||||
|
@ -306,7 +306,7 @@
|
|||
};
|
||||
|
||||
custom.ssh_root = {
|
||||
shell = ["zsh" "-d" "-f"];
|
||||
shell = [ "zsh" "-d" "-f" ];
|
||||
when = ''[[ -n "$SSH_CLIENT" ]] && [[ `whoami` == "root" ]]'';
|
||||
format = "[ $symbol$output ]($style)[@](bold yellow)";
|
||||
command = "whoami";
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# This is your system's configuration file.
|
||||
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
|
||||
|
||||
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||
{ inputs, outputs, lib, pkgs, config, ... }: {
|
||||
# You can import other NixOS modules here
|
||||
imports = [
|
||||
# If you want to use modules your own flake exports (from modules/nixos):
|
||||
|
|
|
@ -2,14 +2,13 @@
|
|||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ inputs, outputs, config, pkgs, ... }:
|
||||
{ inputs, outputs, lib, pkgs, config, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
];
|
||||
imports = [
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
### Set boot options
|
||||
boot = {
|
||||
|
@ -61,14 +60,27 @@
|
|||
|
||||
nix = {
|
||||
package = pkgs.nixFlakes;
|
||||
|
||||
# Enable flakes, the new `nix` commands and better support for flakes in it
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes repl-flake
|
||||
'';
|
||||
|
||||
# This will add each flake input as a registry
|
||||
# To make nix3 commands consistent with your flake
|
||||
registry = lib.mapAttrs (_: value: { flake = value; }) inputs;
|
||||
|
||||
# This will additionally add your inputs to the system's legacy channels
|
||||
# Making legacy nix commands consistent as well, awesome!
|
||||
nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
|
||||
|
||||
settings = {
|
||||
trusted-users = [
|
||||
"root"
|
||||
"reo101"
|
||||
];
|
||||
|
||||
# Add nix-community and rix101 cachix caches
|
||||
substituters = [
|
||||
"https://rix101.cachix.org"
|
||||
"https://nix-community.cachix.org"
|
||||
|
@ -80,7 +92,11 @@
|
|||
};
|
||||
};
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
|
||||
### NVIDIA
|
||||
services.xserver = {
|
||||
|
@ -165,11 +181,13 @@
|
|||
useUserPackages = true;
|
||||
useGlobalPkgs = false;
|
||||
|
||||
extraSpecialArgs = { inherit inputs outputs; } ;
|
||||
extraSpecialArgs = { inherit inputs outputs; };
|
||||
};
|
||||
|
||||
### Enable plymouth (bootscreen customizations)
|
||||
boot.plymouth.enable = true;
|
||||
boot.plymouth = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
|
@ -182,19 +200,8 @@
|
|||
];
|
||||
|
||||
### Jellyfin
|
||||
virtualisation.oci-containers.containers."jellyfin" = {
|
||||
autoStart = true;
|
||||
image = "docker.io/jellyfin/jellyfin:latest";
|
||||
volumes = [
|
||||
"/var/cache/jellyfin/config:/config"
|
||||
"/var/cache/jellyfin/cache:/cache"
|
||||
"/var/log/jellyfin:/log"
|
||||
"/media:/media:ro"
|
||||
];
|
||||
ports = [ "8096:8096" ];
|
||||
environment = {
|
||||
JELLYFIN_LOG_DIR = "/log";
|
||||
};
|
||||
reo101.jellyfin = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
### Transmission
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
{ lib, pkgs, config, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
[
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||
|
@ -14,12 +15,14 @@
|
|||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/7f720420-41d8-4efd-bdf2-f445e52db998";
|
||||
{
|
||||
device = "/dev/disk/by-uuid/7f720420-41d8-4efd-bdf2-f445e52db998";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/5BF4-74EF";
|
||||
{
|
||||
device = "/dev/disk/by-uuid/5BF4-74EF";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ inputs, outputs, lib, config, pkgs, ... }:
|
||||
{ inputs, outputs, lib, pkgs, config, ... }:
|
||||
|
||||
{
|
||||
imports = builtins.attrValues outputs.homeManagerModules ++ [
|
||||
|
@ -7,7 +7,7 @@
|
|||
|
||||
nixpkgs = {
|
||||
overlays = builtins.attrValues outputs.overlays ++ [
|
||||
# inputs.neovim-nightly-overlay.overlay
|
||||
inputs.neovim-nightly-overlay.overlay
|
||||
inputs.zig-overlay.overlays.default
|
||||
inputs.wired.overlays.default
|
||||
];
|
||||
|
@ -29,6 +29,7 @@
|
|||
river # window manager
|
||||
swww # wallpaper deamon
|
||||
# wired-notify # dunst on wayland
|
||||
waybar # status bar
|
||||
|
||||
## Terminals
|
||||
wezterm
|
||||
|
@ -99,7 +100,7 @@
|
|||
RestartSec = 5;
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["graphical-session.target"];
|
||||
WantedBy = [ "graphical-session.target" ];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
{ lib, pkgs, config, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.reo101.shell;
|
||||
in {
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
];
|
||||
|
||||
|
@ -15,10 +17,10 @@ in {
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [
|
||||
# Shell
|
||||
zsh
|
||||
starship
|
||||
zoxide
|
||||
direnv
|
||||
];
|
||||
|
||||
programs.zsh = {
|
||||
|
@ -216,7 +218,7 @@ in {
|
|||
};
|
||||
|
||||
custom.local = {
|
||||
shell = ["zsh" "-d" "-f"];
|
||||
shell = [ "zsh" "-d" "-f" ];
|
||||
when = ''[[ -z "$SSH_CLIENT" ]] && [[ `whoami` != "root" ]]'';
|
||||
format = "[$symbol$output]($style)[@](bold yellow)";
|
||||
command = "whoami";
|
||||
|
@ -225,7 +227,7 @@ in {
|
|||
};
|
||||
|
||||
custom.local_root = {
|
||||
shell = ["zsh" "-d" "-f"];
|
||||
shell = [ "zsh" "-d" "-f" ];
|
||||
when = ''[[ -z "$SSH_CLIENT" ]] && [[ `whoami` == "root" ]]'';
|
||||
format = "[ $output ]($style)[@](bold yellow)";
|
||||
command = "whoami";
|
||||
|
@ -233,7 +235,7 @@ in {
|
|||
};
|
||||
|
||||
custom.ssh = {
|
||||
shell = ["zsh" "-d" "-f"];
|
||||
shell = [ "zsh" "-d" "-f" ];
|
||||
when = ''[[ -n "$SSH_CLIENT" ]] && [[ `whoami` != "root" ]]'';
|
||||
format = "[ $symbol$output ]($style)[@](bold yellow)";
|
||||
command = "whoami";
|
||||
|
@ -243,7 +245,7 @@ in {
|
|||
};
|
||||
|
||||
custom.ssh_root = {
|
||||
shell = ["zsh" "-d" "-f"];
|
||||
shell = [ "zsh" "-d" "-f" ];
|
||||
when = ''[[ -n "$SSH_CLIENT" ]] && [[ `whoami` == "root" ]]'';
|
||||
format = "[ $symbol$output ]($style)[@](bold yellow)";
|
||||
command = "whoami";
|
||||
|
@ -253,4 +255,8 @@ in {
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ reo101 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,4 +4,5 @@
|
|||
{
|
||||
# List your module files here
|
||||
# my-module = import ./my-module.nix;
|
||||
jellyfin = import ./jellyfin.nix;
|
||||
}
|
||||
|
|
|
@ -1,60 +1,61 @@
|
|||
{ config, nixpkgs, ... }:
|
||||
{ lib, pkgs, config, ... }:
|
||||
|
||||
### Jellyfin
|
||||
# nixpkgs.config.packageOverrides = pkgs: {
|
||||
# arc = import (builtins.fetchTarball {
|
||||
# url = "https://github.com/arcnmx/nixexprs/archive/1a2ca1935e243383dfc8dc89f88f55678d33fcd4.tar.gz";
|
||||
# sha256 = "sha256:0zjy3916sxxk7ds763dmmbzfdc46wdlw10m5dg6kkpqi2i81109f";
|
||||
# }) {
|
||||
# inherit pkgs;
|
||||
# };
|
||||
# vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
|
||||
# };
|
||||
|
||||
# hardware.nvidia.package = pkgs.arc.packages.nvidia-patch.override {
|
||||
# nvidia_x11 = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
# };
|
||||
|
||||
# hardware.opengl = {
|
||||
# enable = true;
|
||||
# extraPackages = with pkgs; [
|
||||
# intel-media-driver
|
||||
# vaapiIntel
|
||||
# vaapiVdpau
|
||||
# libvdpau-va-gl
|
||||
# intel-compute-runtime # OpenCL filter support (hardware tonemapping and subtitle burn-in)
|
||||
# ];
|
||||
# };
|
||||
|
||||
virtualisation.oci-containers.containers."jellyfin" = {
|
||||
autoStart = true;
|
||||
image = "docker.io/jellyfin/jellyfin:latest";
|
||||
volumes = [
|
||||
"/var/cache/jellyfin/config:/config"
|
||||
"/var/cache/jellyfin/cache:/cache"
|
||||
"/var/log/jellyfin:/log"
|
||||
"/media:/media:ro"
|
||||
with lib;
|
||||
let
|
||||
cfg = config.reo101.jellyfin;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
];
|
||||
ports = [ "8096:8096" ];
|
||||
environment = {
|
||||
JELLYFIN_LOG_DIR = "/log";
|
||||
|
||||
options = {
|
||||
reo101.jellyfin = {
|
||||
enable = mkEnableOption "reo101 Jellyfin config";
|
||||
image = mkOption {
|
||||
type = types.strMatching ".+/.+:.+";
|
||||
default = "docker.io/jellyfin/jellyfin:latest";
|
||||
defaultText = "docker.io/jellyfin/jellyfin:latest";
|
||||
description = ''
|
||||
The Docker image for Jellyfin
|
||||
'';
|
||||
};
|
||||
volumes = mkOption {
|
||||
type = types.listOf (types.strMatching ".+:.+");
|
||||
default = [
|
||||
"/var/cache/jellyfin/config:/config"
|
||||
"/var/cache/jellyfin/cache:/cache"
|
||||
"/var/log/jellyfin:/log"
|
||||
"/media:/media:ro"
|
||||
];
|
||||
description = ''
|
||||
The volumes the Jellyfin container should bind to
|
||||
'';
|
||||
};
|
||||
ports = mkOption {
|
||||
type = types.listOf (types.strMatching ".+:.+");
|
||||
default = [
|
||||
"8096:8096"
|
||||
];
|
||||
description = ''
|
||||
The ports the Jellyfin container should bind to
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
## services.jellyfin.enable = true;
|
||||
|
||||
## systemd.services."jellyfin".serviceConfig = {
|
||||
## DeviceAllow = pkgs.lib.mkForce [
|
||||
## "char-drm rw"
|
||||
## "char-nvidia-frontend rw"
|
||||
## "char-nvidia-uvm rw"
|
||||
## ];
|
||||
## PrivateDevices = pkgs.lib.mkForce true;
|
||||
## RestrictAddressFamilies = pkgs.lib.mkForce [
|
||||
## "AF_UNIX"
|
||||
## "AF_NETLINK"
|
||||
## "AF_INET"
|
||||
## "AF_INET6"
|
||||
## ];
|
||||
## };
|
||||
config = mkIf cfg.enable {
|
||||
virtualisation.oci-containers.containers."jellyfin" = {
|
||||
autoStart = true;
|
||||
image = cfg.image;
|
||||
volumes = cfg.volumes;
|
||||
ports = cfg.ports;
|
||||
environment = {
|
||||
JELLYFIN_LOG_DIR = "/log";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ reo101 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -27,6 +27,6 @@ rustPlatform.buildRustPackage rec {
|
|||
description = "A Solution to your Wayland Wallpaper Woes";
|
||||
homepage = "https://github.com/Horus645/swww";
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers.reo101 ];
|
||||
maintainers = with maintainers; [ reo101 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Shell for bootstrapping flake-enabled nix and other tooling
|
||||
# If pkgs is not defined, instanciate nixpkgs from locked commit
|
||||
{ pkgs ?
|
||||
# If pkgs is not defined, instanciate nixpkgs from locked commit
|
||||
(import ./nixpkgs.nix) { }
|
||||
, ...
|
||||
}: {
|
||||
|
|
Loading…
Reference in a new issue