Compare commits
9 commits
7cf28c791c
...
17ea540427
Author | SHA1 | Date | |
---|---|---|---|
![]() |
17ea540427 | ||
![]() |
4a9592dad8 | ||
![]() |
616c51118f | ||
![]() |
2ede55a7ee | ||
![]() |
468ecc909a | ||
![]() |
748267110c | ||
![]() |
12293c0a31 | ||
![]() |
2f5d7291c0 | ||
![]() |
2cddd7b561 |
|
@ -56,6 +56,7 @@ let
|
|||
subdomain = stringType;
|
||||
label = stringType;
|
||||
name = stringType;
|
||||
hostname = stringType;
|
||||
domains = genOptions stringType "url";
|
||||
dns = genOptions stringType "provider";
|
||||
localhost = genOptions stringType "address";
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
{ instancesFunctions }:
|
||||
let
|
||||
inherit (instancesFunctions)
|
||||
dummy
|
||||
;
|
||||
hledgerLabel = "Hledger";
|
||||
hledgerName = "hledger";
|
||||
in
|
||||
{
|
||||
label = hledgerLabel;
|
||||
name = hledgerName;
|
||||
paths = {
|
||||
path0 = "/mnt/media/storage/${hledgerLabel}";
|
||||
};
|
||||
ports = {
|
||||
port0 = 5000;
|
||||
};
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
{instancesFunctions}: let
|
||||
inherit
|
||||
(instancesFunctions)
|
||||
dummy
|
||||
;
|
||||
|
||||
nginxLabel = "Ngnix";
|
||||
nginxName = "nginx";
|
||||
in {
|
||||
name = nginxName;
|
||||
label = nginxLabel;
|
||||
email = dummy;
|
||||
ports = {
|
||||
port0 = 8080; # HTTP
|
||||
port1 = 8443; # HTTPS
|
||||
};
|
||||
}
|
27
config/instances/config/postfix.nix
Executable file
|
@ -0,0 +1,27 @@
|
|||
{ instancesFunctions }:
|
||||
let
|
||||
inherit (instancesFunctions)
|
||||
domain3
|
||||
servicePath
|
||||
sslPath
|
||||
sopsPath
|
||||
;
|
||||
|
||||
postfixLabel = "Postfix";
|
||||
postfixName = "postfix";
|
||||
in
|
||||
{
|
||||
label = postfixLabel;
|
||||
name = postfixName;
|
||||
sops = {
|
||||
path0 = "${sopsPath}/${postfixName}";
|
||||
};
|
||||
subdomain = postfixName;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${postfixLabel}";
|
||||
};
|
||||
ssl = {
|
||||
cert = "${sslPath}/${domain3}/fullchain.pem";
|
||||
key = "${sslPath}/${domain3}/key.pem";
|
||||
};
|
||||
}
|
13
config/instances/config/smtp.nix
Executable file
|
@ -0,0 +1,13 @@
|
|||
{ instancesFunctions }:
|
||||
let
|
||||
inherit (instancesFunctions)
|
||||
dummy
|
||||
;
|
||||
in
|
||||
{
|
||||
hostname = "mail.smtp2go.com";
|
||||
name = dummy;
|
||||
ports = {
|
||||
port0 = 2525;
|
||||
};
|
||||
}
|
|
@ -12,20 +12,26 @@ let
|
|||
sopsPath = "/var/lib/secrets";
|
||||
sslPath = "/var/lib/acme";
|
||||
varLib = "/var/lib";
|
||||
dummy = [];
|
||||
dummy = "";
|
||||
};
|
||||
|
||||
instances = builtins.listToAttrs (map (name: {
|
||||
name = builtins.substring 0 (builtins.stringLength name - 4) name;
|
||||
value = import (configPath + "/${name}") {
|
||||
inherit
|
||||
instancesFunctions
|
||||
;
|
||||
};
|
||||
})
|
||||
(builtins.filter (name:
|
||||
builtins.match ".*\\.nix$" name != null) (builtins.attrNames
|
||||
(builtins.readDir configPath))));
|
||||
in {
|
||||
instances = builtins.listToAttrs (
|
||||
map
|
||||
(name: {
|
||||
name = builtins.substring 0 (builtins.stringLength name - 4) name;
|
||||
value = import (configPath + "/${name}") {
|
||||
inherit
|
||||
instancesFunctions
|
||||
;
|
||||
};
|
||||
})
|
||||
(
|
||||
builtins.filter (name: builtins.match ".*\\.nix$" name != null) (
|
||||
builtins.attrNames (builtins.readDir configPath)
|
||||
)
|
||||
)
|
||||
);
|
||||
in
|
||||
{
|
||||
instances = instances;
|
||||
}
|
||||
|
|
1076
flake.lock
generated
28
flake.nix
|
@ -11,14 +11,15 @@
|
|||
url = "github:hercules-ci/flake-parts";
|
||||
inputs.nixpkgs-lib.follows = "nixpkgs";
|
||||
};
|
||||
systems.url = "github:nix-systems/x86_64-linux";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
ngipkgs.url = "github:ngi-nix/ngipkgs";
|
||||
ghostty = {
|
||||
url = "github:ghostty-org/ghostty";
|
||||
};
|
||||
ngipkgs.url = "github:ngi-nix/ngipkgs";
|
||||
nur = {
|
||||
url = "github:nix-community/NUR";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
@ -27,7 +28,6 @@
|
|||
url = "github:cachix/pre-commit-hooks.nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
systems.url = "github:nix-systems/x86_64-linux";
|
||||
sops-nix = {
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
@ -37,30 +37,6 @@
|
|||
url = "github:helix-editor/helix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
hyprland = {
|
||||
url = "github:hyprwm/Hyprland";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
hyprland-portal = {
|
||||
url = "github:hyprwm/xdg-desktop-portal-hyprland";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
hypridle = {
|
||||
url = "github:hyprwm/hypridle";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
wpaperd = {
|
||||
url = "github:danyspin97/wpaperd";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
waybar = {
|
||||
url = "github:Alexays/Waybar";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
direnv = {
|
||||
url = "github:direnv/direnv";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
|
|
|
@ -50,7 +50,7 @@ in
|
|||
messaging
|
||||
sharing
|
||||
tools
|
||||
desktop
|
||||
hypr
|
||||
;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,12 +1,6 @@
|
|||
{
|
||||
flake,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
package = flake.inputs.direnv.packages.${pkgs.system}.default;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
0
home/modules/cli/utilities/paMixer/default.nix
Normal file → Executable file
|
@ -64,16 +64,16 @@ in
|
|||
];
|
||||
keyword = instances.forgejo.label;
|
||||
}
|
||||
{
|
||||
name = instances.hledger.label;
|
||||
url = "http://localhost.${builtins.toString instances.hledger.ports.port0}";
|
||||
tags = [
|
||||
instances.hledger.name
|
||||
"hledger"
|
||||
"finances"
|
||||
];
|
||||
keyword = instances.hledger.label;
|
||||
}
|
||||
# {
|
||||
# name = instances.hledger.label;
|
||||
# url = "http://localhost.${builtins.toString instances.hledger.ports.port0}";
|
||||
# tags = [
|
||||
# instances.hledger.name
|
||||
# "hledger"
|
||||
# "finances"
|
||||
# ];
|
||||
# keyword = instances.hledger.label;
|
||||
# }
|
||||
{
|
||||
name = "${instances.jellyfin.label} (Internet)";
|
||||
url = "https://${instances.jellyfin.name}.${instances.web.domains.url0}";
|
||||
|
|
|
@ -2,9 +2,18 @@
|
|||
name = "Tools";
|
||||
toolbar = false;
|
||||
bookmarks = [
|
||||
{
|
||||
name = "Mullvad";
|
||||
url = "https://mullvad.net";
|
||||
tags = [
|
||||
"mullvad"
|
||||
"vpn"
|
||||
];
|
||||
keyword = "Mull";
|
||||
}
|
||||
{
|
||||
name = "Cyanophage Layout Analyzer";
|
||||
url = "https://cyanophage.github.io/";
|
||||
url = "https://cyanophage.github.io";
|
||||
tags = [
|
||||
"cyanophage"
|
||||
"keyboard"
|
||||
|
@ -12,6 +21,15 @@
|
|||
];
|
||||
keyword = "Layout";
|
||||
}
|
||||
{
|
||||
name = "Smtp2Go";
|
||||
url = "https://app-us.smtp2go.com/dashboard/main";
|
||||
tags = [
|
||||
"smtp"
|
||||
"email"
|
||||
];
|
||||
keyword = "Smtp";
|
||||
}
|
||||
{
|
||||
name = "Oryx";
|
||||
url = "https://configure.zsa.io/moonlander";
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
}
|
||||
|
||||
.titlebar-buttonbox-container {
|
||||
display: none !important;
|
||||
display: visible !important;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -5,8 +5,7 @@
|
|||
{
|
||||
home.packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
catppuccin
|
||||
catppuccin-gtk
|
||||
alpaca
|
||||
;
|
||||
};
|
||||
}
|
10
home/modules/gui/apps/media/llms/default.nix
Executable file
|
@ -0,0 +1,10 @@
|
|||
let
|
||||
content = builtins.readDir ./.;
|
||||
|
||||
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
|
||||
|
||||
importList = map (name: ./. + "/${name}") dirContent;
|
||||
in
|
||||
{
|
||||
imports = importList;
|
||||
}
|
11
home/modules/gui/apps/media/llms/oterm/default.nix
Executable file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
home.packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
oterm
|
||||
;
|
||||
};
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
flameshotGrim = pkgs.flameshot.overrideAttrs (oldAttrs: {
|
||||
src = pkgs.fetchFromGitHub {
|
||||
|
@ -20,10 +21,15 @@ in
|
|||
package = flameshotGrim;
|
||||
settings = {
|
||||
General = {
|
||||
disabledTrayIcon = true;
|
||||
disabledTrayIcon = false;
|
||||
showStartupLaunchMessage = false;
|
||||
disabledGrimWarning = true;
|
||||
# disabledGrimWarning = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
home.packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
# flameshot
|
||||
;
|
||||
};
|
||||
}
|
||||
|
|
13
home/modules/gui/apps/tools/mullvad/default.nix
Executable file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
home.packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
# mullvad
|
||||
mullvad-closest
|
||||
mullvad-vpn
|
||||
;
|
||||
};
|
||||
}
|
24
home/modules/gui/desktop/gnome/default.nix
Executable file
|
@ -0,0 +1,24 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
gnome-connections
|
||||
gnome-tweaks
|
||||
gnome-shell-extensions
|
||||
gnome-remote-desktop
|
||||
ulauncher
|
||||
;
|
||||
inherit (pkgs.gnomeExtensions)
|
||||
tiling-shell
|
||||
keep-awake
|
||||
notification-banner-reloaded
|
||||
no-overview
|
||||
wallpaper-slideshow
|
||||
dash-to-panel
|
||||
just-perfection
|
||||
appindicator
|
||||
tiling-assistant
|
||||
start-overlay-in-application-view
|
||||
;
|
||||
};
|
||||
}
|
10
home/modules/gui/desktop/hypr/default.nix
Executable file
|
@ -0,0 +1,10 @@
|
|||
let
|
||||
content = builtins.readDir ./.;
|
||||
|
||||
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
|
||||
|
||||
importList = map (name: ./. + "/${name}") dirContent;
|
||||
in
|
||||
{
|
||||
imports = importList;
|
||||
}
|
|
@ -1,8 +1,3 @@
|
|||
{
|
||||
flake,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
configPath = ./config;
|
||||
settingsPath = import (configPath + /settings.nix);
|
||||
|
@ -10,7 +5,6 @@ in
|
|||
{
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
package = flake.inputs.hypridle.packages.${pkgs.system}.hypridle;
|
||||
settings = settingsPath;
|
||||
};
|
||||
}
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
pkgs,
|
||||
flake,
|
||||
config,
|
||||
...
|
||||
|
@ -29,7 +28,6 @@ in
|
|||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
package = flake.inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
xwayland.enable = true;
|
||||
systemd.enable = false;
|
||||
settings = configImports;
|
|
@ -12,7 +12,6 @@ in
|
|||
{
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = flake.inputs.waybar.packages.${pkgs.system}.default;
|
||||
settings = settingsPath;
|
||||
style = stylePath;
|
||||
};
|
|
@ -1,12 +1,6 @@
|
|||
{
|
||||
flake,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.wpaperd = {
|
||||
enable = true;
|
||||
package = flake.inputs.wpaperd.packages.${pkgs.system}.default;
|
||||
settings = {
|
||||
"default" = {
|
||||
path = "~/Files/Projects/dotfiles/home/modules/gui/desktop/wpaperd/wallpaper";
|
Before Width: | Height: | Size: 578 KiB After Width: | Height: | Size: 578 KiB |
Before Width: | Height: | Size: 201 KiB After Width: | Height: | Size: 201 KiB |
Before Width: | Height: | Size: 808 KiB After Width: | Height: | Size: 808 KiB |
Before Width: | Height: | Size: 578 KiB After Width: | Height: | Size: 578 KiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 3.3 MiB After Width: | Height: | Size: 3.3 MiB |
Before Width: | Height: | Size: 5.1 MiB After Width: | Height: | Size: 5.1 MiB |
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 3.5 MiB After Width: | Height: | Size: 3.5 MiB |
Before Width: | Height: | Size: 632 KiB After Width: | Height: | Size: 632 KiB |
Before Width: | Height: | Size: 8.2 MiB After Width: | Height: | Size: 8.2 MiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 3.3 MiB After Width: | Height: | Size: 3.3 MiB |
Before Width: | Height: | Size: 833 KiB After Width: | Height: | Size: 833 KiB |
Before Width: | Height: | Size: 467 KiB After Width: | Height: | Size: 467 KiB |
Before Width: | Height: | Size: 2 MiB After Width: | Height: | Size: 2 MiB |
Before Width: | Height: | Size: 1.8 MiB After Width: | Height: | Size: 1.8 MiB |
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 1.6 MiB |
Before Width: | Height: | Size: 257 KiB After Width: | Height: | Size: 257 KiB |
Before Width: | Height: | Size: 261 KiB After Width: | Height: | Size: 261 KiB |
Before Width: | Height: | Size: 144 KiB After Width: | Height: | Size: 144 KiB |
Before Width: | Height: | Size: 501 KiB After Width: | Height: | Size: 501 KiB |
Before Width: | Height: | Size: 252 KiB After Width: | Height: | Size: 252 KiB |
Before Width: | Height: | Size: 646 KiB After Width: | Height: | Size: 646 KiB |
Before Width: | Height: | Size: 422 KiB After Width: | Height: | Size: 422 KiB |
Before Width: | Height: | Size: 552 KiB After Width: | Height: | Size: 552 KiB |
Before Width: | Height: | Size: 366 KiB After Width: | Height: | Size: 366 KiB |
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 747 KiB After Width: | Height: | Size: 747 KiB |
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 665 KiB After Width: | Height: | Size: 665 KiB |
Before Width: | Height: | Size: 1.8 MiB After Width: | Height: | Size: 1.8 MiB |
Before Width: | Height: | Size: 869 KiB After Width: | Height: | Size: 869 KiB |
Before Width: | Height: | Size: 302 KiB After Width: | Height: | Size: 302 KiB |