Compare commits
No commits in common. "6aa4e31b67a8ef8e62d0b4f53d91f756ff9e2dba" and "b55175a527a6245bce2f056795b806caabb114dc" have entirely different histories.
6aa4e31b67
...
b55175a527
17 changed files with 257 additions and 476 deletions
49
flake.lock
generated
49
flake.lock
generated
|
|
@ -100,24 +100,6 @@
|
||||||
"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": {
|
||||||
|
|
@ -473,7 +455,7 @@
|
||||||
"hyprlang": "hyprlang",
|
"hyprlang": "hyprlang",
|
||||||
"hyprutils": "hyprutils",
|
"hyprutils": "hyprutils",
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs",
|
||||||
"pre-commit-hooks": "pre-commit-hooks",
|
"pre-commit-hooks": "pre-commit-hooks",
|
||||||
"systems": "systems",
|
"systems": "systems",
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
|
|
@ -691,7 +673,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_3",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
@ -725,22 +707,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"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=",
|
||||||
|
|
@ -756,7 +722,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758029226,
|
"lastModified": 1758029226,
|
||||||
"narHash": "sha256-TjqVmbpoCqWywY9xIZLTf6ANFvDCXdctCjoYuYPYdMI=",
|
"narHash": "sha256-TjqVmbpoCqWywY9xIZLTf6ANFvDCXdctCjoYuYPYdMI=",
|
||||||
|
|
@ -772,7 +738,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758035966,
|
"lastModified": 1758035966,
|
||||||
"narHash": "sha256-qqIJ3yxPiB0ZQTT9//nFGQYn8X/PBoJbofA7hRKZnmE=",
|
"narHash": "sha256-qqIJ3yxPiB0ZQTT9//nFGQYn8X/PBoJbofA7hRKZnmE=",
|
||||||
|
|
@ -788,7 +754,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744536153,
|
"lastModified": 1744536153,
|
||||||
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
|
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
|
||||||
|
|
@ -854,12 +820,11 @@
|
||||||
},
|
},
|
||||||
"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_4",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"stylix": "stylix",
|
"stylix": "stylix",
|
||||||
"typsite": "typsite"
|
"typsite": "typsite"
|
||||||
|
|
@ -867,7 +832,7 @@
|
||||||
},
|
},
|
||||||
"rust-overlay": {
|
"rust-overlay": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": "nixpkgs_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749004659,
|
"lastModified": 1749004659,
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,6 @@
|
||||||
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";
|
||||||
|
|
||||||
|
|
@ -41,7 +39,7 @@
|
||||||
home-manager,
|
home-manager,
|
||||||
stylix,
|
stylix,
|
||||||
sops-nix,
|
sops-nix,
|
||||||
catppuccin,
|
typsite,
|
||||||
...
|
...
|
||||||
}@inputs:
|
}@inputs:
|
||||||
let
|
let
|
||||||
|
|
@ -83,7 +81,6 @@
|
||||||
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 {
|
||||||
|
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
# 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,26 +35,12 @@
|
||||||
|
|
||||||
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
|
||||||
|
|
@ -63,7 +49,6 @@
|
||||||
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 = [
|
||||||
|
|
@ -34,7 +34,7 @@ in
|
||||||
|
|
||||||
stylix = {
|
stylix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.ssh.knownHosts = {
|
programs.ssh.knownHosts = {
|
||||||
|
|
@ -51,16 +51,7 @@ 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;
|
||||||
|
|
@ -73,11 +64,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,27 +8,24 @@
|
||||||
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
|
||||||
( modulesDirectory + /base.nix )
|
../../moduler/base.nix
|
||||||
( modulesDirectory + /users.nix )
|
../../moduler/users.nix
|
||||||
( modulesDirectory + /kitchenowl.nix )
|
../../moduler/kitchenowl.nix
|
||||||
( modulesDirectory + /radicale.nix )
|
../../moduler/radicale.nix
|
||||||
( modulesDirectory + /vaultwarden.nix )
|
../../moduler/vaultwarden.nix
|
||||||
( modulesDirectory + /signal.nix )
|
../../moduler/signal.nix
|
||||||
( modulesDirectory + /uptime-kuma.nix )
|
../../moduler/uptime-kuma.nix
|
||||||
( modulesDirectory + /wedding.nix )
|
../../moduler/services/monitoring
|
||||||
|
../../moduler/services/headscale
|
||||||
( modulesDirectory + /services/monitoring )
|
../../moduler/services/mpd
|
||||||
( modulesDirectory + /services/headscale )
|
../../moduler/services/actual
|
||||||
( modulesDirectory + /services/mpd )
|
../../moduler/services/forgejo
|
||||||
( modulesDirectory + /services/actual )
|
# ../../moduler/wastring.nix
|
||||||
( modulesDirectory + /services/forgejo )
|
../../moduler/wedding.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
sops.defaultSopsFile = ../../secrets/sops.yaml;
|
sops.defaultSopsFile = ../../secrets/sops.yaml;
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@ in
|
||||||
# Nix
|
# Nix
|
||||||
devenv
|
devenv
|
||||||
nixfmt-rfc-style
|
nixfmt-rfc-style
|
||||||
opentofu
|
|
||||||
|
|
||||||
# Docker
|
# Docker
|
||||||
dive
|
dive
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,11 @@ 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
|
||||||
|
|
@ -26,7 +28,7 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
default_session = {
|
default_session = {
|
||||||
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd hyprland";
|
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd hyprland";
|
||||||
user = "greeter";
|
user = "greeter";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -55,6 +57,138 @@ 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 = {
|
||||||
|
|
@ -110,7 +244,7 @@ in
|
||||||
"$mod" = "ALT";
|
"$mod" = "ALT";
|
||||||
|
|
||||||
monitor = [
|
monitor = [
|
||||||
"desc: ASUSTek COMPUTER INC ASUS PA279CV S4LMTF159462 (DP-1), 3840x2160@60, 0x0, 1.5, transform, 1"
|
"desc: ASUSTek COMPUTER INC ASUS PA279CV S4LMTF159462 (DP-1), 3840x2160@60, 0x0, 1.5"
|
||||||
"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"
|
||||||
|
|
@ -165,31 +299,35 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
animations = {
|
animations = {
|
||||||
enabled = true;
|
enabled = false;
|
||||||
bezier = [
|
bezier = [
|
||||||
"easeOutQuint,0.23,1,0.32,1"
|
|
||||||
"easeInOutCubic,0.65,0.05,0.36,1"
|
|
||||||
"linear, 0, 0, 1, 1"
|
"linear, 0, 0, 1, 1"
|
||||||
"almostLinear,0.5,0.5,0.75,1.0#fffff"
|
"md3_standard, 0.2, 0, 0, 1"
|
||||||
"quick,0.15,0,0.1,1"
|
"md3_decel, 0.05, 0.7, 0.1, 1"
|
||||||
|
"md3_accel, 0.3, 0, 0.8, 0.15"
|
||||||
|
"overshot, 0.05, 0.9, 0.1, 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 = [
|
||||||
"global, 1, 10, default"
|
"windows, 1, 1.2, md3_decel, popin 60%"
|
||||||
"border, 1, 5.39, easeOutQuint"
|
"windowsIn, 1, 1.2, md3_decel, popin 60%"
|
||||||
"windows, 1, 4.79, easeOutQuint"
|
"windowsOut, 1, 1.2, md3_accel, popin 60%"
|
||||||
"windowsIn, 1, 4.1, easeOutQuint, popin 87%"
|
"border, 1, 2, default"
|
||||||
"windowsOut, 1, 1.49, linear, popin 87%"
|
"fade, 1, 1.2, md3_decel"
|
||||||
"fadeIn, 1, 1.73, almostLinear"
|
"layersIn, 1, 1.2, menu_decel, slide"
|
||||||
"fadeOut, 1, 1.46, almostLinear"
|
"layersOut, 1, 1.2, menu_accel"
|
||||||
"fade, 1, 3.03, quick"
|
"fadeLayersIn, 1, 1.2, menu_decel"
|
||||||
"layers, 1, 3.81, easeOutQuint"
|
"fadeLayersOut, 1, 1.2, menu_accel"
|
||||||
"layersIn, 1, 4, easeOutQuint, fade"
|
"workspaces, 1, 2, menu_decel, slide"
|
||||||
"layersOut, 1, 1.5, linear, fade"
|
"specialWorkspace, 1, 1.2, md3_decel, slidevert"
|
||||||
"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"
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -267,7 +405,8 @@ 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 SHIFT, s, exec, ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" - | ${pkgs.wl-clipboard}/bin/wl-copy -t image/png"
|
"$mod, S, exec, ${pkgs.grim}/bin/grim | wl-copy"
|
||||||
|
"$mod SHIFT+ALT, S, exec, ${pkgs.grim}/bin/grim -g \"$(slurp)\" ~/$(date +%Y-%m-%d-%H%M%S).png"
|
||||||
];
|
];
|
||||||
|
|
||||||
bindm = [
|
bindm = [
|
||||||
|
|
|
||||||
|
|
@ -8,14 +8,13 @@
|
||||||
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 = {
|
||||||
mode = "no-cursor";
|
mode = "no-cursor";
|
||||||
};
|
};
|
||||||
themeFile = "Catppuccin-Mocha";
|
themeFile = "Catppuccin-Latte";
|
||||||
settings = {
|
settings = {
|
||||||
confirm_os_window_close = 2;
|
confirm_os_window_close = 2;
|
||||||
cursor_shape = "block";
|
cursor_shape = "block";
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,5 @@
|
||||||
lua-language-server
|
lua-language-server
|
||||||
marksman
|
marksman
|
||||||
typstfmt
|
typstfmt
|
||||||
tofu-ls
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,9 @@
|
||||||
inputs,
|
inputs,
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs, myhostname,
|
||||||
myhostname,
|
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
services.udev = {
|
services.udev = {
|
||||||
extraRules = ''
|
extraRules = ''
|
||||||
KERNEL=="ttyACM0", MODE:="666"
|
KERNEL=="ttyACM0", MODE:="666"
|
||||||
|
|
@ -21,7 +19,6 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# GUI
|
# GUI
|
||||||
feishin
|
feishin
|
||||||
|
|
@ -41,7 +38,6 @@
|
||||||
|
|
||||||
# TUI
|
# TUI
|
||||||
mpc
|
mpc
|
||||||
codex
|
|
||||||
|
|
||||||
# Browsers
|
# Browsers
|
||||||
librewolf
|
librewolf
|
||||||
|
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
{
|
|
||||||
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";
|
|
||||||
# };
|
|
||||||
}
|
|
||||||
|
|
@ -1,107 +0,0 @@
|
||||||
* {
|
|
||||||
/* `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 */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"modules-left": ["hyprland/workspaces"],
|
|
||||||
"modules-right": ["clock"]
|
|
||||||
}
|
|
||||||
|
|
@ -1,79 +0,0 @@
|
||||||
{
|
|
||||||
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
|
|
||||||
# ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,54 +0,0 @@
|
||||||
{
|
|
||||||
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
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue