chore(?): hm
This commit is contained in:
12
flake.lock
generated
12
flake.lock
generated
@@ -212,11 +212,11 @@
|
|||||||
"rust-analyzer-src": "rust-analyzer-src"
|
"rust-analyzer-src": "rust-analyzer-src"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758955069,
|
"lastModified": 1759041587,
|
||||||
"narHash": "sha256-YYIsyGsTiQ2aKoEmYaqRqe44yE3TjpzirR35Cqj50LU=",
|
"narHash": "sha256-Icdbi+eADlwHIWiP/5Gv8DXrQwSUFqItFG36Xvg64hc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "fenix",
|
"repo": "fenix",
|
||||||
"rev": "73494b26b031328fd959e7a3da0f9fdc8957d86c",
|
"rev": "fbb23b6565adb3f1533f14fbdb48b81bf10997ec",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -610,11 +610,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758997081,
|
"lastModified": 1759043321,
|
||||||
"narHash": "sha256-c4SbPEbR9yP5erODj4niMO7N+2ONEoGnWnt5hauAHRg=",
|
"narHash": "sha256-Efi3THvsIS6Qd97s52/PSSHWybDlSbtUZXP8l3AR9Ps=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "26ace005b720b7628fdf2d4923e7feecdd1631c4",
|
"rev": "c75fd8e300b79502b8eecdacd8a426b12fadb460",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
39
flake.nix
39
flake.nix
@@ -1,8 +1,9 @@
|
|||||||
{
|
{
|
||||||
description = "cnix nix";
|
description = "cnix nix";
|
||||||
|
|
||||||
outputs = inputs:
|
outputs =
|
||||||
inputs.flake-parts.lib.mkFlake {inherit inputs;} {
|
inputs:
|
||||||
|
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
|
||||||
systems = [
|
systems = [
|
||||||
"x86_64-linux"
|
"x86_64-linux"
|
||||||
"aarch64-linux"
|
"aarch64-linux"
|
||||||
@@ -16,23 +17,25 @@
|
|||||||
./fmt-hooks.nix
|
./fmt-hooks.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
perSystem = {
|
perSystem =
|
||||||
config,
|
{
|
||||||
pkgs,
|
config,
|
||||||
...
|
pkgs,
|
||||||
}: {
|
...
|
||||||
devShells.default = pkgs.mkShell {
|
}:
|
||||||
packages = [
|
{
|
||||||
pkgs.git
|
devShells.default = pkgs.mkShell {
|
||||||
config.packages.repl
|
packages = [
|
||||||
];
|
pkgs.git
|
||||||
name = "dots";
|
config.packages.repl
|
||||||
env.DIRENV_LOG_FORMAT = "";
|
];
|
||||||
shellHook = ''
|
name = "dots";
|
||||||
${config.pre-commit.installationScript}
|
env.DIRENV_LOG_FORMAT = "";
|
||||||
'';
|
shellHook = ''
|
||||||
|
${config.pre-commit.installationScript}
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
|
|||||||
@@ -4,111 +4,114 @@
|
|||||||
homeImports,
|
homeImports,
|
||||||
self,
|
self,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
flake.nixosConfigurations = let
|
{
|
||||||
cLib = import ../lib inputs.nixpkgs.lib;
|
flake.nixosConfigurations =
|
||||||
userConfig = "${self}/home";
|
let
|
||||||
systemConfig = "${self}/system";
|
cLib = import ../lib inputs.nixpkgs.lib;
|
||||||
hostConfig = "${self}/hosts";
|
userConfig = "${self}/home";
|
||||||
|
systemConfig = "${self}/system";
|
||||||
|
hostConfig = "${self}/hosts";
|
||||||
|
|
||||||
cnstConfig = "${self}/users/cnst";
|
cnstConfig = "${self}/users/cnst";
|
||||||
toothpickConfig = "${self}/users/toothpick";
|
toothpickConfig = "${self}/users/toothpick";
|
||||||
|
|
||||||
umodPath = "${self}/modules/home";
|
umodPath = "${self}/modules/home";
|
||||||
smodPath = "${self}/modules/system";
|
smodPath = "${self}/modules/system";
|
||||||
|
|
||||||
inherit (inputs.nixpkgs.lib) nixosSystem;
|
inherit (inputs.nixpkgs.lib) nixosSystem;
|
||||||
inherit (self) outputs;
|
inherit (self) outputs;
|
||||||
|
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit
|
inherit
|
||||||
cLib
|
cLib
|
||||||
inputs
|
inputs
|
||||||
outputs
|
outputs
|
||||||
self
|
self
|
||||||
userConfig
|
userConfig
|
||||||
systemConfig
|
systemConfig
|
||||||
hostConfig
|
hostConfig
|
||||||
cnstConfig
|
cnstConfig
|
||||||
toothpickConfig
|
toothpickConfig
|
||||||
umodPath
|
umodPath
|
||||||
smodPath
|
smodPath
|
||||||
;
|
;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
kima = nixosSystem {
|
||||||
|
inherit specialArgs;
|
||||||
|
modules = [
|
||||||
|
./kima
|
||||||
|
"${self}/nix"
|
||||||
|
{
|
||||||
|
home-manager = {
|
||||||
|
users.cnst.imports = homeImports."cnst@kima";
|
||||||
|
extraSpecialArgs = specialArgs;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
self.nixosModules.nixos
|
||||||
|
self.nixosModules.settings
|
||||||
|
inputs.chaotic.nixosModules.default
|
||||||
|
inputs.agenix.nixosModules.default
|
||||||
|
];
|
||||||
|
};
|
||||||
|
bunk = nixosSystem {
|
||||||
|
inherit specialArgs;
|
||||||
|
modules = [
|
||||||
|
./bunk
|
||||||
|
"${self}/nix"
|
||||||
|
{
|
||||||
|
home-manager = {
|
||||||
|
users.cnst.imports = homeImports."cnst@bunk";
|
||||||
|
extraSpecialArgs = specialArgs;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
self.nixosModules.nixos
|
||||||
|
self.nixosModules.settings
|
||||||
|
inputs.chaotic.nixosModules.default
|
||||||
|
inputs.agenix.nixosModules.default
|
||||||
|
];
|
||||||
|
};
|
||||||
|
sobotka = nixosSystem {
|
||||||
|
inherit specialArgs;
|
||||||
|
modules = [
|
||||||
|
./sobotka
|
||||||
|
"${self}/nix"
|
||||||
|
self.nixosModules.nixos
|
||||||
|
self.nixosModules.settings
|
||||||
|
self.nixosModules.server
|
||||||
|
inputs.agenix.nixosModules.default
|
||||||
|
inputs.authentik.nixosModules.default
|
||||||
|
];
|
||||||
|
};
|
||||||
|
ziggy = nixosSystem {
|
||||||
|
inherit specialArgs;
|
||||||
|
modules = [
|
||||||
|
./ziggy
|
||||||
|
"${self}/nix"
|
||||||
|
self.nixosModules.nixos
|
||||||
|
self.nixosModules.settings
|
||||||
|
self.nixosModules.server
|
||||||
|
inputs.agenix.nixosModules.default
|
||||||
|
];
|
||||||
|
};
|
||||||
|
toothpc = nixosSystem {
|
||||||
|
inherit specialArgs;
|
||||||
|
modules = [
|
||||||
|
./toothpc
|
||||||
|
"${self}/nix"
|
||||||
|
{
|
||||||
|
home-manager = {
|
||||||
|
users.toothpick.imports = homeImports."toothpick@toothpc";
|
||||||
|
extraSpecialArgs = specialArgs;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
self.nixosModules.nixos
|
||||||
|
self.nixosModules.settings
|
||||||
|
inputs.chaotic.nixosModules.default
|
||||||
|
inputs.agenix.nixosModules.default
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
in {
|
|
||||||
kima = nixosSystem {
|
|
||||||
inherit specialArgs;
|
|
||||||
modules = [
|
|
||||||
./kima
|
|
||||||
"${self}/nix"
|
|
||||||
{
|
|
||||||
home-manager = {
|
|
||||||
users.cnst.imports = homeImports."cnst@kima";
|
|
||||||
extraSpecialArgs = specialArgs;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
self.nixosModules.nixos
|
|
||||||
self.nixosModules.settings
|
|
||||||
inputs.chaotic.nixosModules.default
|
|
||||||
inputs.agenix.nixosModules.default
|
|
||||||
];
|
|
||||||
};
|
|
||||||
bunk = nixosSystem {
|
|
||||||
inherit specialArgs;
|
|
||||||
modules = [
|
|
||||||
./bunk
|
|
||||||
"${self}/nix"
|
|
||||||
{
|
|
||||||
home-manager = {
|
|
||||||
users.cnst.imports = homeImports."cnst@bunk";
|
|
||||||
extraSpecialArgs = specialArgs;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
self.nixosModules.nixos
|
|
||||||
self.nixosModules.settings
|
|
||||||
inputs.chaotic.nixosModules.default
|
|
||||||
inputs.agenix.nixosModules.default
|
|
||||||
];
|
|
||||||
};
|
|
||||||
sobotka = nixosSystem {
|
|
||||||
inherit specialArgs;
|
|
||||||
modules = [
|
|
||||||
./sobotka
|
|
||||||
"${self}/nix"
|
|
||||||
self.nixosModules.nixos
|
|
||||||
self.nixosModules.settings
|
|
||||||
self.nixosModules.server
|
|
||||||
inputs.agenix.nixosModules.default
|
|
||||||
inputs.authentik.nixosModules.default
|
|
||||||
];
|
|
||||||
};
|
|
||||||
ziggy = nixosSystem {
|
|
||||||
inherit specialArgs;
|
|
||||||
modules = [
|
|
||||||
./ziggy
|
|
||||||
"${self}/nix"
|
|
||||||
self.nixosModules.nixos
|
|
||||||
self.nixosModules.settings
|
|
||||||
self.nixosModules.server
|
|
||||||
inputs.agenix.nixosModules.default
|
|
||||||
];
|
|
||||||
};
|
|
||||||
toothpc = nixosSystem {
|
|
||||||
inherit specialArgs;
|
|
||||||
modules = [
|
|
||||||
./toothpc
|
|
||||||
"${self}/nix"
|
|
||||||
{
|
|
||||||
home-manager = {
|
|
||||||
users.toothpick.imports = homeImports."toothpick@toothpc";
|
|
||||||
extraSpecialArgs = specialArgs;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
self.nixosModules.nixos
|
|
||||||
self.nixosModules.settings
|
|
||||||
inputs.chaotic.nixosModules.default
|
|
||||||
inputs.agenix.nixosModules.default
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,9 @@
|
|||||||
let
|
let
|
||||||
inherit (lib) mkIf mkEnableOption;
|
inherit (lib) mkIf mkEnableOption;
|
||||||
cfg = config.home.programs.mpv;
|
cfg = config.home.programs.mpv;
|
||||||
|
inherit (config.xdg.userDirs) videos;
|
||||||
|
inherit (config.home) homeDirectory;
|
||||||
|
shaders_dir = "${pkgs.mpv-shim-default-shaders}/share/mpv-shim-default-shaders/shaders";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options = {
|
options = {
|
||||||
@@ -15,8 +18,71 @@ in
|
|||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.mpv = {
|
programs.mpv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultProfiles = [ "gpu-hq" ];
|
config = {
|
||||||
scripts = [ pkgs.mpvScripts.mpris ];
|
profile = "gpu-hq";
|
||||||
|
gpu-context = "wayland";
|
||||||
|
vo = "gpu-next";
|
||||||
|
video-sync = "display-resample";
|
||||||
|
interpolation = true;
|
||||||
|
tscale = "oversample";
|
||||||
|
fullscreen = false;
|
||||||
|
keep-open = true;
|
||||||
|
sub-auto = "fuzzy";
|
||||||
|
sub-font = "Noto Sans Medium";
|
||||||
|
sub-blur = 10;
|
||||||
|
|
||||||
|
screenshot-format = "png";
|
||||||
|
|
||||||
|
title = "\${filename} - mpv";
|
||||||
|
script-opts = "osc-title=\${filename},osc-boxalpha=150,osc-visibility=never,osc-boxvideo=yes";
|
||||||
|
ytdl-format = "bestvideo[height<=?1440]+bestaudio/best";
|
||||||
|
ao = "pipewire";
|
||||||
|
alang = "eng,en";
|
||||||
|
slang = "eng,en,enUS";
|
||||||
|
|
||||||
|
glsl-shader = "${homeDirectory}/.config/mpv/shaders/FSR.glsl";
|
||||||
|
scale = "lanczos";
|
||||||
|
cscale = "lanczos";
|
||||||
|
dscale = "mitchell";
|
||||||
|
deband = "yes";
|
||||||
|
scale-antiring = 1;
|
||||||
|
|
||||||
|
osc = "no";
|
||||||
|
osd-on-seek = "no";
|
||||||
|
osd-bar = "no";
|
||||||
|
osd-bar-w = 30;
|
||||||
|
osd-bar-h = "0.2";
|
||||||
|
osd-duration = 750;
|
||||||
|
|
||||||
|
really-quiet = "yes";
|
||||||
|
autofit = "65%";
|
||||||
|
};
|
||||||
|
|
||||||
|
bindings = {
|
||||||
|
"ctrl+a" = "script-message osc-visibility cycle";
|
||||||
|
};
|
||||||
|
scripts = with pkgs.mpvScripts; [
|
||||||
|
mpris
|
||||||
|
uosc
|
||||||
|
thumbfast
|
||||||
|
sponsorblock
|
||||||
|
autocrop
|
||||||
|
];
|
||||||
|
};
|
||||||
|
programs.yt-dlp = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
-o ${videos}/youtube/%(title)s.%(ext)s
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
home = {
|
||||||
|
file = {
|
||||||
|
".config/mpv/shaders/FSR.glsl".source = "${shaders_dir}/FSR.glsl";
|
||||||
|
};
|
||||||
|
packages = with pkgs; [
|
||||||
|
jellyfin-mpv-shim
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,119 +0,0 @@
|
|||||||
# taken from @jtojnar
|
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
unit = "gitea";
|
|
||||||
srv = config.server;
|
|
||||||
cfg = config.server.${unit};
|
|
||||||
in {
|
|
||||||
options.server.${unit} = {
|
|
||||||
enable = lib.mkEnableOption {
|
|
||||||
description = "Enable ${unit}";
|
|
||||||
};
|
|
||||||
url = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
default = "git.${srv.domain}";
|
|
||||||
};
|
|
||||||
port = lib.mkOption {
|
|
||||||
type = lib.types.int;
|
|
||||||
default = 5003;
|
|
||||||
description = "The port to host Gitea on.";
|
|
||||||
};
|
|
||||||
homepage.name = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
default = "Gitea";
|
|
||||||
};
|
|
||||||
homepage.description = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
default = "Git with a cup of tea";
|
|
||||||
};
|
|
||||||
homepage.icon = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
default = "gitea.svg";
|
|
||||||
};
|
|
||||||
homepage.category = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
default = "Services";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
services.${unit} = {
|
|
||||||
enable = true;
|
|
||||||
appName = "cnix code forge";
|
|
||||||
|
|
||||||
database = {
|
|
||||||
type = "postgres";
|
|
||||||
socket = "/run/postgresql";
|
|
||||||
name = "gitea";
|
|
||||||
user = "gitea";
|
|
||||||
createDatabase = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
lfs = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
cors = {
|
|
||||||
ENABLED = true;
|
|
||||||
SCHEME = "https";
|
|
||||||
ALLOW_DOMAIN = cfg.url;
|
|
||||||
};
|
|
||||||
log = {
|
|
||||||
MODE = "console";
|
|
||||||
};
|
|
||||||
mailer = {
|
|
||||||
ENABLED = false;
|
|
||||||
MAILER_TYPE = "sendmail";
|
|
||||||
FROM = "noreply+adam@cnst.dev";
|
|
||||||
SENDMAIL_PATH = "/run/wrappers/bin/sendmail";
|
|
||||||
};
|
|
||||||
picture = {
|
|
||||||
DISABLE_GRAVATAR = true;
|
|
||||||
};
|
|
||||||
repository = {
|
|
||||||
DEFAULT_BRANCH = "main";
|
|
||||||
DEFAULT_REPO_UNITS = "repo.code,repo.issues,repo.pulls";
|
|
||||||
DISABLE_DOWNLOAD_SOURCE_ARCHIVES = true;
|
|
||||||
};
|
|
||||||
indexer = {
|
|
||||||
REPO_INDEXER_ENABLED = true;
|
|
||||||
};
|
|
||||||
server = {
|
|
||||||
DOMAIN = cfg.url;
|
|
||||||
LANDING_PAGE = "explore";
|
|
||||||
HTTP_PORT = cfg.port;
|
|
||||||
ROOT_URL = "https://${cfg.url}/";
|
|
||||||
};
|
|
||||||
security = {
|
|
||||||
DISABLE_GIT_HOOKS = false;
|
|
||||||
};
|
|
||||||
service = {
|
|
||||||
DISABLE_REGISTRATION = true;
|
|
||||||
};
|
|
||||||
session = {
|
|
||||||
COOKIE_SECURE = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.traefik.dynamicConfigOptions.http.routers."${unit}" = {
|
|
||||||
rule = "Host(`" + cfg.url + "`)";
|
|
||||||
service = "${unit}-service";
|
|
||||||
entryPoints = ["websecure"];
|
|
||||||
tls = {};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.traefik.dynamicConfigOptions.http.services."${unit}-service".loadBalancer.servers = [
|
|
||||||
{url = "http://127.0.0.1:${toString cfg.port}";}
|
|
||||||
];
|
|
||||||
|
|
||||||
server.postgresql.databases = [
|
|
||||||
{
|
|
||||||
database = "gitea";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -23,6 +23,5 @@
|
|||||||
json.enable = false;
|
json.enable = false;
|
||||||
manpages.enable = false;
|
manpages.enable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user