lots of shit
This commit is contained in:
parent
b55175a527
commit
5d10961778
17 changed files with 475 additions and 256 deletions
49
flake.lock
generated
49
flake.lock
generated
|
|
@ -100,6 +100,24 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"catppuccin": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1759572023,
|
||||||
|
"narHash": "sha256-2fzYq/m2PXie5WZO5LhyiZrTIUdUFp1SCLZAwvPL5xo=",
|
||||||
|
"owner": "catppuccin",
|
||||||
|
"repo": "nix",
|
||||||
|
"rev": "eeada12912d80d04733383d231a9d66172858718",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "catppuccin",
|
||||||
|
"repo": "nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"firefox-gnome-theme": {
|
"firefox-gnome-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
@ -455,7 +473,7 @@
|
||||||
"hyprlang": "hyprlang",
|
"hyprlang": "hyprlang",
|
||||||
"hyprutils": "hyprutils",
|
"hyprutils": "hyprutils",
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"pre-commit-hooks": "pre-commit-hooks",
|
"pre-commit-hooks": "pre-commit-hooks",
|
||||||
"systems": "systems",
|
"systems": "systems",
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
|
|
@ -673,7 +691,7 @@
|
||||||
"git-hooks": "git-hooks",
|
"git-hooks": "git-hooks",
|
||||||
"hercules-ci-effects": "hercules-ci-effects",
|
"hercules-ci-effects": "hercules-ci-effects",
|
||||||
"neovim-src": "neovim-src",
|
"neovim-src": "neovim-src",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
@ -707,6 +725,22 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1759381078,
|
||||||
|
"narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757487488,
|
"lastModified": 1757487488,
|
||||||
"narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=",
|
"narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=",
|
||||||
|
|
@ -722,7 +756,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758029226,
|
"lastModified": 1758029226,
|
||||||
"narHash": "sha256-TjqVmbpoCqWywY9xIZLTf6ANFvDCXdctCjoYuYPYdMI=",
|
"narHash": "sha256-TjqVmbpoCqWywY9xIZLTf6ANFvDCXdctCjoYuYPYdMI=",
|
||||||
|
|
@ -738,7 +772,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758035966,
|
"lastModified": 1758035966,
|
||||||
"narHash": "sha256-qqIJ3yxPiB0ZQTT9//nFGQYn8X/PBoJbofA7hRKZnmE=",
|
"narHash": "sha256-qqIJ3yxPiB0ZQTT9//nFGQYn8X/PBoJbofA7hRKZnmE=",
|
||||||
|
|
@ -754,7 +788,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744536153,
|
"lastModified": 1744536153,
|
||||||
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
|
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
|
||||||
|
|
@ -820,11 +854,12 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"catppuccin": "catppuccin",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"minimal-tmux": "minimal-tmux",
|
"minimal-tmux": "minimal-tmux",
|
||||||
"neovim-nightly-overlay": "neovim-nightly-overlay",
|
"neovim-nightly-overlay": "neovim-nightly-overlay",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"stylix": "stylix",
|
"stylix": "stylix",
|
||||||
"typsite": "typsite"
|
"typsite": "typsite"
|
||||||
|
|
@ -832,7 +867,7 @@
|
||||||
},
|
},
|
||||||
"rust-overlay": {
|
"rust-overlay": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_4"
|
"nixpkgs": "nixpkgs_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749004659,
|
"lastModified": 1749004659,
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,8 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
catppuccin.url = "github:catppuccin/nix";
|
||||||
|
|
||||||
# Neovim
|
# Neovim
|
||||||
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
|
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
|
||||||
|
|
||||||
|
|
@ -39,7 +41,7 @@
|
||||||
home-manager,
|
home-manager,
|
||||||
stylix,
|
stylix,
|
||||||
sops-nix,
|
sops-nix,
|
||||||
typsite,
|
catppuccin,
|
||||||
...
|
...
|
||||||
}@inputs:
|
}@inputs:
|
||||||
let
|
let
|
||||||
|
|
@ -81,6 +83,7 @@
|
||||||
stylix.nixosModules.stylix
|
stylix.nixosModules.stylix
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
|
catppuccin.nixosModules.catppuccin
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
archive = nixpkgs.lib.nixosSystem {
|
archive = nixpkgs.lib.nixosSystem {
|
||||||
|
|
|
||||||
17
machines/test/hardware-configuration.nix
Normal file
17
machines/test/hardware-configuration.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
# 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, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
}
|
||||||
|
|
@ -35,12 +35,26 @@
|
||||||
|
|
||||||
security.sudo.wheelNeedsPassword = false;
|
security.sudo.wheelNeedsPassword = false;
|
||||||
users.users.root.openssh.authorizedKeys.keys = [
|
users.users.root.openssh.authorizedKeys.keys = [
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDALsdpwvC0w/Aj+1fWtzJyyWoUrGkdh8o2thVHeQQBNo0D7cmVberYmi4Cv9gWGX6PaElrnOl0KRdGyro2wxOYokSxgk2VgWW67BFITAQAbKyG2NhXXPbhb4jccDo7WH7TtOG8IofuJTPRu1Duda6k4RN0I0CkyAN6LGX+zy49cq0qKf9ijXYhCDYNih3+Fu/ig0aW/SYmsVoUl2VFTWdI5x5/wLvIjTEZhmAtYIeYADaLnom356cFrUysZa++FUujQAz3Ow236BvP95XZdTsqvfWNZFNIpC9VYF72JeIDCs5wDIr0GFmanF2On1nar+jJpoOE8SdHt357p5g/PqXV5TisN2xQRkqVwO9tWtMl4sF84jA4ULnY2gQWv9jErMxymUQ1IwuPUzDDlbRHCtfexAtkBy7wv6xslKAzG1QahvF/btNs5Caj3LN31rgAuxyooCbKGKTeBP3kHPKcz1iupgidfbO/QqVXBRQJTEdGyAKa8hVmLQZZPC/XUhxESAk= fw@fw-nix"
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8ku8iCb7tXd/tfxYDW+Tj8K9kpfrYZciYUZ6tBpO80inm4EImtfyEeJTuqDWMKov2BftUKs8brNeTBCXUEvU1P0+cpOP9RtYA5tfBXf3su+iVSswJJStIxNboXHrEGKdJJRNsTv/9agshDSUBy6G5TI1cXhv/updornfA4fwOMqOmtlYEn6XCRnsrO6NBLc/uLckdbF75HOsoLvezRvuqTLjpapjaUKGVPrgNXiclIKHmuOx71kgD4FX3rSz9FgKjnfu3a7DBbrHsf/g+N9PjNF1muN9UOV6nK3WwiO9BMWi7NpAWfzJOeZg9chqzI+U6CcsqYVeESgL41so+dnv3 fw@laptop"
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP34dnsZSnWdDvd+3BXDwcw7wP0PjPEx2eCdBQJyGD6O fw@laptop"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP34dnsZSnWdDvd+3BXDwcw7wP0PjPEx2eCdBQJyGD6O fw@laptop"
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII60tdNsG0z9q2jHmoTKvkeLQE6OF0bmTsDX1bpqpoG7 fw@jobb"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII60tdNsG0z9q2jHmoTKvkeLQE6OF0bmTsDX1bpqpoG7 fw@jobb"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Restic
|
||||||
|
users.users.restic = {
|
||||||
|
isNormalUser = true;
|
||||||
|
createHome = true;
|
||||||
|
home = "/home/restic";
|
||||||
|
openssh.authorizedKeys.keys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP34dnsZSnWdDvd+3BXDwcw7wP0PjPEx2eCdBQJyGD6O fw@laptop"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII60tdNsG0z9q2jHmoTKvkeLQE6OF0bmTsDX1bpqpoG7 fw@jobb"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Where repos will live (you can choose a different path/disk)
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d /srv/restic 0750 restic restic -"
|
||||||
|
];
|
||||||
|
|
||||||
networking.firewall.allowedUDPPorts = [
|
networking.firewall.allowedUDPPorts = [
|
||||||
22000
|
22000
|
||||||
21027
|
21027
|
||||||
|
|
@ -49,6 +63,7 @@
|
||||||
services = {
|
services = {
|
||||||
openssh = {
|
openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
allowSFTP = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
btusb = pkgs.callPackage ../../moduler/btusb.nix { inherit (config.boot.kernelPackages) kernel; };
|
# btusb = pkgs.callPackage ../../moduler/btusb.nix { inherit (config.boot.kernelPackages) kernel; };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
|
@ -19,7 +19,7 @@ in
|
||||||
../../moduler/base.nix
|
../../moduler/base.nix
|
||||||
|
|
||||||
../../moduler/users.nix
|
../../moduler/users.nix
|
||||||
../../moduler/git.nix
|
../../moduler/git.nix
|
||||||
../../moduler/network.nix
|
../../moduler/network.nix
|
||||||
../../moduler/programs.nix
|
../../moduler/programs.nix
|
||||||
../../moduler/system.nix
|
../../moduler/system.nix
|
||||||
|
|
@ -34,7 +34,7 @@ in
|
||||||
|
|
||||||
stylix = {
|
stylix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml";
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.ssh.knownHosts = {
|
programs.ssh.knownHosts = {
|
||||||
|
|
@ -51,7 +51,16 @@ in
|
||||||
home-manager.users.fw = {
|
home-manager.users.fw = {
|
||||||
imports = [
|
imports = [
|
||||||
./../../moduler/home.nix
|
./../../moduler/home.nix
|
||||||
|
./../../moduler/programs/waybar
|
||||||
|
inputs.catppuccin.homeModules.catppuccin
|
||||||
];
|
];
|
||||||
|
catppuccin = {
|
||||||
|
librewolf = {
|
||||||
|
enable = true;
|
||||||
|
flavor = "latte";
|
||||||
|
accent = "peach";
|
||||||
|
};
|
||||||
|
};
|
||||||
programs.ranger.enable = true;
|
programs.ranger.enable = true;
|
||||||
stylix.targets = {
|
stylix.targets = {
|
||||||
lazygit.enable = false;
|
lazygit.enable = false;
|
||||||
|
|
@ -64,11 +73,11 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
boot.extraModulePackages = [
|
# boot.extraModulePackages = [
|
||||||
(btusb.overrideAttrs (_: {
|
# (btusb.overrideAttrs (_: {
|
||||||
patches = [ ../../moduler/btusb-add-mt7925.patch ];
|
# patches = [ ../../moduler/btusb-add-mt7925.patch ];
|
||||||
}))
|
# }))
|
||||||
];
|
# ];
|
||||||
|
|
||||||
networking.hostName = myhostname;
|
networking.hostName = myhostname;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,24 +8,27 @@
|
||||||
myhostname,
|
myhostname,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
let
|
||||||
|
modulesDirectory = ../../moduler;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
# You can import other NixOS modules here
|
# You can import other NixOS modules here
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../moduler/base.nix
|
( modulesDirectory + /base.nix )
|
||||||
../../moduler/users.nix
|
( modulesDirectory + /users.nix )
|
||||||
../../moduler/kitchenowl.nix
|
( modulesDirectory + /kitchenowl.nix )
|
||||||
../../moduler/radicale.nix
|
( modulesDirectory + /radicale.nix )
|
||||||
../../moduler/vaultwarden.nix
|
( modulesDirectory + /vaultwarden.nix )
|
||||||
../../moduler/signal.nix
|
( modulesDirectory + /signal.nix )
|
||||||
../../moduler/uptime-kuma.nix
|
( modulesDirectory + /uptime-kuma.nix )
|
||||||
../../moduler/services/monitoring
|
( modulesDirectory + /wedding.nix )
|
||||||
../../moduler/services/headscale
|
|
||||||
../../moduler/services/mpd
|
( modulesDirectory + /services/monitoring )
|
||||||
../../moduler/services/actual
|
( modulesDirectory + /services/headscale )
|
||||||
../../moduler/services/forgejo
|
( modulesDirectory + /services/mpd )
|
||||||
# ../../moduler/wastring.nix
|
( modulesDirectory + /services/actual )
|
||||||
../../moduler/wedding.nix
|
( modulesDirectory + /services/forgejo )
|
||||||
];
|
];
|
||||||
|
|
||||||
sops.defaultSopsFile = ../../secrets/sops.yaml;
|
sops.defaultSopsFile = ../../secrets/sops.yaml;
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ in
|
||||||
# Nix
|
# Nix
|
||||||
devenv
|
devenv
|
||||||
nixfmt-rfc-style
|
nixfmt-rfc-style
|
||||||
|
opentofu
|
||||||
|
|
||||||
# Docker
|
# Docker
|
||||||
dive
|
dive
|
||||||
|
|
|
||||||
|
|
@ -12,11 +12,9 @@ in
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
swww
|
swww
|
||||||
grim
|
|
||||||
slurp
|
|
||||||
wl-clipboard
|
|
||||||
swappy
|
swappy
|
||||||
ydotool
|
ydotool
|
||||||
|
wl-clipboard
|
||||||
hyprpolkitagent
|
hyprpolkitagent
|
||||||
hyprland-qtutils
|
hyprland-qtutils
|
||||||
waypipe
|
waypipe
|
||||||
|
|
@ -28,7 +26,7 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
default_session = {
|
default_session = {
|
||||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd hyprland";
|
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd hyprland";
|
||||||
user = "greeter";
|
user = "greeter";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -57,138 +55,6 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
font = lib.mkForce "ComicShannsMono Nerd Font 18";
|
font = lib.mkForce "ComicShannsMono Nerd Font 18";
|
||||||
};
|
};
|
||||||
waybar = {
|
|
||||||
enable = true;
|
|
||||||
systemd = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
settings = {
|
|
||||||
mainBar = {
|
|
||||||
modules-left = [
|
|
||||||
"hyprland/workspaces"
|
|
||||||
];
|
|
||||||
modules-right = [
|
|
||||||
"tray"
|
|
||||||
"clock"
|
|
||||||
];
|
|
||||||
"custom/arrow1" = {
|
|
||||||
format = "";
|
|
||||||
|
|
||||||
};
|
|
||||||
tray = {
|
|
||||||
format = "<span>{icon}</span>";
|
|
||||||
"icon-size" = 14;
|
|
||||||
spacing = 5;
|
|
||||||
};
|
|
||||||
|
|
||||||
clock = {
|
|
||||||
format = "<span> </span><span>{:%c}</span>";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
style = ''
|
|
||||||
@define-color bg #eff1f5;
|
|
||||||
@define-color fg #4c4f69;
|
|
||||||
@define-color lbg #e6e9ef;
|
|
||||||
@define-color yellow #df8e1d;
|
|
||||||
@define-color lavender #7287fd;
|
|
||||||
@define-color peach #fe640b;
|
|
||||||
@define-color red #d20f39;
|
|
||||||
@define-color green #40a02b;
|
|
||||||
@define-color blue #1e66f5;
|
|
||||||
@define-color border #dce0e8;
|
|
||||||
|
|
||||||
* {
|
|
||||||
min-height: 0;
|
|
||||||
margin: 0px 0px 0px 0px;
|
|
||||||
padding: 0;
|
|
||||||
border-radius: 7px;
|
|
||||||
font-family: "ComicShannsMono Nerd Font";
|
|
||||||
font-size: 14pt;
|
|
||||||
font-weight: 700;
|
|
||||||
padding-bottom: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
tooltip {
|
|
||||||
background: @bg;
|
|
||||||
border-radius: 7px;
|
|
||||||
border: 2px solid @border;
|
|
||||||
}
|
|
||||||
|
|
||||||
#window {
|
|
||||||
margin: 0px 0px 0px 0px;
|
|
||||||
padding-left: 10px;
|
|
||||||
padding-right: 7px;
|
|
||||||
border-radius: 3px;
|
|
||||||
border-color: @lbg;
|
|
||||||
background-color: @yellow;
|
|
||||||
color: @bg;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar.empty #window {
|
|
||||||
background-color: @bg;
|
|
||||||
border-bottom: none;
|
|
||||||
border-right: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar {
|
|
||||||
background-color: @bg;
|
|
||||||
color: @lavender;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Workspaces */
|
|
||||||
@keyframes button_activate {
|
|
||||||
from { opacity: .3 }
|
|
||||||
to { opacity: 1.; }
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces {
|
|
||||||
margin: 0px 0px 0px 0px;
|
|
||||||
border-radius: 3px;
|
|
||||||
padding: 1px;
|
|
||||||
background-color: @bg;
|
|
||||||
color: @bg;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
margin: 0px 0px 0px 0px;
|
|
||||||
border-radius: 3px;
|
|
||||||
padding-left: 3px;
|
|
||||||
padding-right: 9px;
|
|
||||||
background-color: @bg;
|
|
||||||
color: @fg;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active {
|
|
||||||
background-color:@blue;
|
|
||||||
color: @bg;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.urgent {
|
|
||||||
color: #F38BA8;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button:hover {
|
|
||||||
border: solid transparent;
|
|
||||||
}
|
|
||||||
#tray {
|
|
||||||
margin: 0px 0px 0px 0px;
|
|
||||||
border-radius: 3px;
|
|
||||||
padding-left: 10px;
|
|
||||||
padding-right: 10px;
|
|
||||||
background-color: @bg;
|
|
||||||
color: @fg;
|
|
||||||
}
|
|
||||||
#clock {
|
|
||||||
margin: 0px 0px 0px 0px;
|
|
||||||
padding-left: 10px;
|
|
||||||
padding-right: 10px;
|
|
||||||
border-radius: 3px;
|
|
||||||
color: @bg;
|
|
||||||
background-color: @green;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
services = {
|
services = {
|
||||||
cliphist = {
|
cliphist = {
|
||||||
|
|
@ -244,7 +110,7 @@ in
|
||||||
"$mod" = "ALT";
|
"$mod" = "ALT";
|
||||||
|
|
||||||
monitor = [
|
monitor = [
|
||||||
"desc: ASUSTek COMPUTER INC ASUS PA279CV S4LMTF159462 (DP-1), 3840x2160@60, 0x0, 1.5"
|
"desc: ASUSTek COMPUTER INC ASUS PA279CV S4LMTF159462 (DP-1), 3840x2160@60, 0x0, 1.5, transform, 1"
|
||||||
"desc: ASUSTek COMPUTER INC VG279 JBLMQS021792 (DP-1), 1920x1080@144, 0x0, 1"
|
"desc: ASUSTek COMPUTER INC VG279 JBLMQS021792 (DP-1), 1920x1080@144, 0x0, 1"
|
||||||
"eDP-1, 1920x1080@60, 0x0, 1, transform, 2"
|
"eDP-1, 1920x1080@60, 0x0, 1, transform, 2"
|
||||||
",prefered,auto,1"
|
",prefered,auto,1"
|
||||||
|
|
@ -298,36 +164,32 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
animations = {
|
animations = {
|
||||||
enabled = false;
|
enabled = true;
|
||||||
bezier = [
|
bezier = [
|
||||||
"linear, 0, 0, 1, 1"
|
"easeOutQuint,0.23,1,0.32,1"
|
||||||
"md3_standard, 0.2, 0, 0, 1"
|
"easeInOutCubic,0.65,0.05,0.36,1"
|
||||||
"md3_decel, 0.05, 0.7, 0.1, 1"
|
"linear,0,0,1,1"
|
||||||
"md3_accel, 0.3, 0, 0.8, 0.15"
|
"almostLinear,0.5,0.5,0.75,1.0#fffff"
|
||||||
"overshot, 0.05, 0.9, 0.1, 1.1"
|
"quick,0.15,0,0.1,1"
|
||||||
"crazyshot, 0.1, 1.5, 0.76, 0.92"
|
|
||||||
"hyprnostretch, 0.05, 0.9, 0.1, 1.0"
|
|
||||||
"menu_decel, 0.1, 1, 0, 1"
|
|
||||||
"menu_accel, 0.38, 0.04, 1, 0.07"
|
|
||||||
"easeInOutCirc, 0.85, 0, 0.15, 1"
|
|
||||||
"easeOutCirc, 0, 0.55, 0.45, 1"
|
|
||||||
"easeOutExpo, 0.16, 1, 0.3, 1"
|
|
||||||
"softAcDecel, 0.26, 0.26, 0.15, 1"
|
|
||||||
"md2, 0.4, 0, 0.2, 1"
|
|
||||||
];
|
];
|
||||||
animation = [
|
animation = [
|
||||||
"windows, 1, 1.2, md3_decel, popin 60%"
|
"global, 1, 10, default"
|
||||||
"windowsIn, 1, 1.2, md3_decel, popin 60%"
|
"border, 1, 5.39, easeOutQuint"
|
||||||
"windowsOut, 1, 1.2, md3_accel, popin 60%"
|
"windows, 1, 4.79, easeOutQuint"
|
||||||
"border, 1, 2, default"
|
"windowsIn, 1, 4.1, easeOutQuint, popin 87%"
|
||||||
"fade, 1, 1.2, md3_decel"
|
"windowsOut, 1, 1.49, linear, popin 87%"
|
||||||
"layersIn, 1, 1.2, menu_decel, slide"
|
"fadeIn, 1, 1.73, almostLinear"
|
||||||
"layersOut, 1, 1.2, menu_accel"
|
"fadeOut, 1, 1.46, almostLinear"
|
||||||
"fadeLayersIn, 1, 1.2, menu_decel"
|
"fade, 1, 3.03, quick"
|
||||||
"fadeLayersOut, 1, 1.2, menu_accel"
|
"layers, 1, 3.81, easeOutQuint"
|
||||||
"workspaces, 1, 2, menu_decel, slide"
|
"layersIn, 1, 4, easeOutQuint, fade"
|
||||||
"specialWorkspace, 1, 1.2, md3_decel, slidevert"
|
"layersOut, 1, 1.5, linear, fade"
|
||||||
|
"fadeLayersIn, 1, 1.79, almostLinear"
|
||||||
|
"fadeLayersOut, 1, 1.39, almostLinear"
|
||||||
|
"workspaces, 1, 1.94, almostLinear, fade"
|
||||||
|
"workspacesIn, 1, 1.21, almostLinear, fade"
|
||||||
|
"workspacesOut, 1, 1.94, almostLinear, fade"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -405,8 +267,7 @@ in
|
||||||
"$mod, d, exec, ${pkgs.rofi}/bin/rofi -show drun -p 'Run: '"
|
"$mod, d, exec, ${pkgs.rofi}/bin/rofi -show drun -p 'Run: '"
|
||||||
|
|
||||||
# Screencapture
|
# Screencapture
|
||||||
"$mod, S, exec, ${pkgs.grim}/bin/grim | wl-copy"
|
"$mod SHIFT, s, exec, ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" - | ${pkgs.wl-clipboard}/bin/wl-copy -t image/png"
|
||||||
"$mod SHIFT+ALT, S, exec, ${pkgs.grim}/bin/grim -g \"$(slurp)\" ~/$(date +%Y-%m-%d-%H%M%S).png"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
bindm = [
|
bindm = [
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,8 @@
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = {
|
font = {
|
||||||
name = "ComicShannsMono Nerd Font";
|
# name = "ComicShannsMono Nerd Font";
|
||||||
|
name = "FiraCode Nerd Font Mono";
|
||||||
size = 14;
|
size = 14;
|
||||||
};
|
};
|
||||||
shellIntegration = {
|
shellIntegration = {
|
||||||
|
|
|
||||||
|
|
@ -28,5 +28,6 @@
|
||||||
lua-language-server
|
lua-language-server
|
||||||
marksman
|
marksman
|
||||||
typstfmt
|
typstfmt
|
||||||
|
tofu-ls
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,64 +4,68 @@
|
||||||
inputs,
|
inputs,
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs, myhostname,
|
pkgs,
|
||||||
|
myhostname,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
services.udev = {
|
{
|
||||||
extraRules = ''
|
services.udev = {
|
||||||
KERNEL=="ttyACM0", MODE:="666"
|
extraRules = ''
|
||||||
ACTION=="add", KERNEL=="sd[a-e][0-9]", ENV{ID_FS_UUID}=="3039-3932", RUN+="${pkgs.systemd}/bin/systemd-mount --no-block -A -G -o gid=users,fmask=113,dmask=002 /dev/%k /mnt/sdcard"
|
KERNEL=="ttyACM0", MODE:="666"
|
||||||
ACTION=="add", KERNEL=="sd[a-e]", ENV{ID_FS_UUID}=="66BA-4EBA", RUN+="${pkgs.systemd}/bin/systemd-mount --no-block -A -G -o gid=users,fmask=113,dmask=002 /dev/%k /mnt/kobo"
|
ACTION=="add", KERNEL=="sd[a-e][0-9]", ENV{ID_FS_UUID}=="3039-3932", RUN+="${pkgs.systemd}/bin/systemd-mount --no-block -A -G -o gid=users,fmask=113,dmask=002 /dev/%k /mnt/sdcard"
|
||||||
'';
|
ACTION=="add", KERNEL=="sd[a-e]", ENV{ID_FS_UUID}=="66BA-4EBA", RUN+="${pkgs.systemd}/bin/systemd-mount --no-block -A -G -o gid=users,fmask=113,dmask=002 /dev/%k /mnt/kobo"
|
||||||
packages = with pkgs; [
|
'';
|
||||||
vial
|
packages = with pkgs; [
|
||||||
via
|
vial
|
||||||
];
|
via
|
||||||
};
|
];
|
||||||
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
# GUI
|
|
||||||
feishin
|
|
||||||
signal-desktop
|
|
||||||
thunderbird
|
|
||||||
libreoffice
|
|
||||||
discord
|
|
||||||
slack
|
|
||||||
speedcrunch
|
|
||||||
remmina
|
|
||||||
vial
|
|
||||||
via
|
|
||||||
drawio
|
|
||||||
freecad-wayland
|
|
||||||
kdePackages.okular
|
|
||||||
angryipscanner
|
|
||||||
|
|
||||||
# TUI
|
environment.systemPackages = with pkgs; [
|
||||||
mpc
|
# GUI
|
||||||
|
feishin
|
||||||
|
signal-desktop
|
||||||
|
thunderbird
|
||||||
|
libreoffice
|
||||||
|
discord
|
||||||
|
slack
|
||||||
|
speedcrunch
|
||||||
|
remmina
|
||||||
|
vial
|
||||||
|
via
|
||||||
|
drawio
|
||||||
|
freecad-wayland
|
||||||
|
kdePackages.okular
|
||||||
|
angryipscanner
|
||||||
|
|
||||||
# Browsers
|
# TUI
|
||||||
librewolf
|
mpc
|
||||||
chawan
|
codex
|
||||||
|
|
||||||
# Displaying
|
# Browsers
|
||||||
zathura
|
librewolf
|
||||||
feh
|
chawan
|
||||||
mpv
|
|
||||||
|
|
||||||
# System
|
# Displaying
|
||||||
pavucontrol
|
zathura
|
||||||
pulseaudio
|
feh
|
||||||
devour # Swallow windows
|
mpv
|
||||||
caligula # Burn ISOs
|
|
||||||
ptouch-print
|
|
||||||
|
|
||||||
# Transforms
|
# System
|
||||||
yt-dlp
|
pavucontrol
|
||||||
imagemagick
|
pulseaudio
|
||||||
pandoc
|
devour # Swallow windows
|
||||||
pinta
|
caligula # Burn ISOs
|
||||||
pastel
|
ptouch-print
|
||||||
ffmpeg
|
|
||||||
darktable
|
# Transforms
|
||||||
];
|
yt-dlp
|
||||||
|
imagemagick
|
||||||
|
pandoc
|
||||||
|
pinta
|
||||||
|
pastel
|
||||||
|
ffmpeg
|
||||||
|
darktable
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
25
moduler/programs/waybar/default.nix
Normal file
25
moduler/programs/waybar/default.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs = {
|
||||||
|
waybar = {
|
||||||
|
enable = true;
|
||||||
|
systemd = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xdg.configFile."waybar/config.jsonc".source = ./waybar.jsonc;
|
||||||
|
xdg.configFile."waybar/style.css".source = ./waybar.css;
|
||||||
|
# catppuccin.waybar = {
|
||||||
|
# enable = true;
|
||||||
|
# flavor = "latte";
|
||||||
|
# };
|
||||||
|
}
|
||||||
107
moduler/programs/waybar/waybar.css
Normal file
107
moduler/programs/waybar/waybar.css
Normal file
|
|
@ -0,0 +1,107 @@
|
||||||
|
* {
|
||||||
|
/* `otf-font-awesome` is required to be installed for icons */
|
||||||
|
font-family: FiraCode Nerd Font Bold, sans-serif;
|
||||||
|
font-size: 16px;
|
||||||
|
color: #4C4F69; /* Default text color */
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background-color: #EFF1F5; /* Catppuccin Base */
|
||||||
|
border-bottom: 3px solid #B2BCC8; /* Catppuccin Crust */
|
||||||
|
color: #4C4F69; /* Default text color */
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: 0.5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.hidden {
|
||||||
|
opacity: 0.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.termite {
|
||||||
|
background-color: #D7DBE6; /* Catppuccin Mantle */
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.chromium {
|
||||||
|
background-color: #B2BCC8; /* Catppuccin Crust */
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
/* Use box-shadow instead of border so the text isn't offset */
|
||||||
|
box-shadow: inset 0 -3px transparent;
|
||||||
|
/* Avoid rounded borders under each button name */
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
color: #4C4F69; /* Default text color */
|
||||||
|
transition: background-color 0.3s ease, box-shadow 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Hover effect for buttons */
|
||||||
|
button:hover {
|
||||||
|
background: inherit;
|
||||||
|
box-shadow: inset 0 -3px #F9E2AF; /* Catppuccin Yellow for hover effect */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Workspace button styles */
|
||||||
|
#workspaces button {
|
||||||
|
padding: 0 5px;
|
||||||
|
background-color: transparent;
|
||||||
|
color: #4C4F69; /* Default text color */
|
||||||
|
transition: background-color 0.3s ease, box-shadow 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Hover effect for workspace buttons */
|
||||||
|
#workspaces button:hover {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Focused or active workspace styles */
|
||||||
|
#workspaces button.focused, #workspaces button.active {
|
||||||
|
background-color: #A6E3A1; /* Catppuccin Green for active workspace */
|
||||||
|
box-shadow: inset 0 -3px #76C7E3; /* Catppuccin Sky for focus highlight */
|
||||||
|
color: #4C4F69; /* Default text color */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Urgent workspace styles */
|
||||||
|
#workspaces button.urgent {
|
||||||
|
background-color: #F28A8C; /* Catppuccin Rose for urgent workspace */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Mode (e.g., dark/light mode indicator) */
|
||||||
|
#mode {
|
||||||
|
background-color: #A6E3A1; /* Catppuccin Green */
|
||||||
|
box-shadow: inset 0 -3px #F9E2AF; /* Catppuccin Yellow for highlight */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Spacing for workspaces and other modules */
|
||||||
|
#clock,
|
||||||
|
#window,
|
||||||
|
#workspaces {
|
||||||
|
margin: 0 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If workspaces is the leftmost module, omit left margin */
|
||||||
|
.modules-left > widget:first-child > #workspaces {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If workspaces is the rightmost module, omit right margin */
|
||||||
|
.modules-right > widget:last-child > #workspaces {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
background-color: #F9E2AF; /* Catppuccin Yellow for clock */
|
||||||
|
color: #4C4F69; /* Default text color */
|
||||||
|
font-family: FiraCode Nerd Font Bold, sans-serif;
|
||||||
|
font-size: 16px;
|
||||||
|
color: #4C4F69; /* Default text color */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Keyframes for blinking effect (e.g., battery critical) */
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: #F9E2AF; /* Catppuccin Yellow */
|
||||||
|
color: #4C4F69; /* Default text color */
|
||||||
|
}
|
||||||
|
}
|
||||||
4
moduler/programs/waybar/waybar.jsonc
Normal file
4
moduler/programs/waybar/waybar.jsonc
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"modules-left": ["hyprland/workspaces"],
|
||||||
|
"modules-right": ["clock"]
|
||||||
|
}
|
||||||
79
moduler/services/adguardhome/default.nix
Normal file
79
moduler/services/adguardhome/default.nix
Normal file
|
|
@ -0,0 +1,79 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.adguardhome;
|
||||||
|
in
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
adguardhome = {
|
||||||
|
enable = mkEnableOption "enables AdGuardHome";
|
||||||
|
port = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
default = 3000;
|
||||||
|
description = "The port that AdGuardHome is served on.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkMerge [
|
||||||
|
(mkIf cfg.enable {
|
||||||
|
networking.firewall.allowedTCPPorts = [ 53 cfg.port ];
|
||||||
|
networking.firewall.allowedUDPPorts = [ 53 ];
|
||||||
|
services.adguardhome = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
http = {
|
||||||
|
# You can select any ip and port, just make sure to open firewalls where needed
|
||||||
|
address = "0.0.0.0:${cfg.port toString}";
|
||||||
|
};
|
||||||
|
dns = {
|
||||||
|
upstream_dns = [
|
||||||
|
# Example config with quad9
|
||||||
|
"9.9.9.9#dns.quad9.net"
|
||||||
|
"149.112.112.112#dns.quad9.net"
|
||||||
|
# Uncomment the following to use a local DNS service (e.g. Unbound)
|
||||||
|
# Additionally replace the address & port as needed
|
||||||
|
# "127.0.0.1:5335"
|
||||||
|
];
|
||||||
|
rewrites = [
|
||||||
|
{
|
||||||
|
domain = "macmini.local";
|
||||||
|
answer = "192.168.1.100";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
domain = "centre.local";
|
||||||
|
answer = "192.168.1.227";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
filtering = {
|
||||||
|
protection_enabled = true;
|
||||||
|
filtering_enabled = true;
|
||||||
|
|
||||||
|
parental_enabled = false; # Parental control-based DNS requests filtering.
|
||||||
|
safe_search = {
|
||||||
|
enabled = false; # Enforcing "Safe search" option for search engines, when possible.
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# The following notation uses map
|
||||||
|
# to not have to manually create {enabled = true; url = "";} for every filter
|
||||||
|
# This is, however, fully optional
|
||||||
|
# filters =
|
||||||
|
# map
|
||||||
|
# (url: {
|
||||||
|
# enabled = true;
|
||||||
|
# url = url;
|
||||||
|
# })
|
||||||
|
# [
|
||||||
|
# "https://adguardteam.github.io/HostlistsRegistry/assets/filter_9.txt" # The Big List of Hacked Malware Web Sites
|
||||||
|
# "https://adguardteam.github.io/HostlistsRegistry/assets/filter_11.txt" # malicious url blocklist
|
||||||
|
# ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
||||||
54
moduler/services/github-runners/default.nix
Normal file
54
moduler/services/github-runners/default.nix
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
mpd = {
|
||||||
|
enable = mkEnableOption "enables MPD";
|
||||||
|
port = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
default = 6600;
|
||||||
|
description = "The port that MPD is served on.";
|
||||||
|
};
|
||||||
|
httpPort = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
default = 8006;
|
||||||
|
description = "The port that MPD is served on.";
|
||||||
|
};
|
||||||
|
musicDir = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "/home/fw/Music";
|
||||||
|
description = "the path to the Music";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config = mkMerge [
|
||||||
|
(mkIf config.mpd.enable {
|
||||||
|
services.mpd = {
|
||||||
|
enable = true;
|
||||||
|
user = "fw";
|
||||||
|
group = "users";
|
||||||
|
network = {
|
||||||
|
port = config.mpd.port;
|
||||||
|
listenAddress = "any";
|
||||||
|
};
|
||||||
|
musicDirectory = config.mpd.musicDir;
|
||||||
|
extraConfig = ''
|
||||||
|
audio_output {
|
||||||
|
type "httpd"
|
||||||
|
name "My HTTP Stream"
|
||||||
|
encoder "vorbis" # or "mp3" if you have lame installed
|
||||||
|
port "${toString config.mpd.httpPort}" # default HTTP port
|
||||||
|
bind_to_address "0.0.0.0" # listen on all network interfaces
|
||||||
|
quality "5.0" # Ogg Vorbis quality
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -38,10 +38,10 @@ with lib;
|
||||||
logtail.enabled = false;
|
logtail.enabled = false;
|
||||||
dns = {
|
dns = {
|
||||||
base_domain = config.headscale.baseDomain;
|
base_domain = config.headscale.baseDomain;
|
||||||
nameservers.global = [
|
nameservers.global = [
|
||||||
"1.1.1.1"
|
"1.1.1.1"
|
||||||
"8.8.8.8"
|
"8.8.8.8"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue