Merge branch 'main' of gh:greg-hellings/nixos-config
This commit is contained in:
Generated
+49
-47
@@ -4,14 +4,17 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"darwin": "darwin",
|
"darwin": "darwin",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": [
|
||||||
|
"nixunstable"
|
||||||
|
],
|
||||||
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701216516,
|
"lastModified": 1707830867,
|
||||||
"narHash": "sha256-jKSeJn+7hZ1dZdiH1L+NWUGT2i/BGomKAJ54B9kT06Q=",
|
"narHash": "sha256-PAdwm5QqdlwIqGrfzzvzZubM+FXtilekQ/FA0cI49/o=",
|
||||||
"owner": "ryantm",
|
"owner": "ryantm",
|
||||||
"repo": "agenix",
|
"repo": "agenix",
|
||||||
"rev": "13ac9ac6d68b9a0896e3d43a082947233189e247",
|
"rev": "8cb01a0e717311680e0cbca06a76cbceba6f3ed6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -28,11 +31,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1673295039,
|
"lastModified": 1700795494,
|
||||||
"narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=",
|
"narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
|
||||||
"owner": "lnl7",
|
"owner": "lnl7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "87b9d090ad39b25b2400029c64825fc2a8868943",
|
"rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -66,11 +69,11 @@
|
|||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1673956053,
|
"lastModified": 1696426674,
|
||||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -81,7 +84,7 @@
|
|||||||
},
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1694529238,
|
"lastModified": 1694529238,
|
||||||
@@ -99,7 +102,7 @@
|
|||||||
},
|
},
|
||||||
"flake-utils_2": {
|
"flake-utils_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_2"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1705309234,
|
"lastModified": 1705309234,
|
||||||
@@ -117,14 +120,14 @@
|
|||||||
},
|
},
|
||||||
"flake-utils_3": {
|
"flake-utils_3": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_3"
|
"systems": "systems_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689068808,
|
"lastModified": 1705309234,
|
||||||
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
|
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
|
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -135,7 +138,7 @@
|
|||||||
},
|
},
|
||||||
"haumea": {
|
"haumea": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1685133229,
|
"lastModified": 1685133229,
|
||||||
@@ -202,11 +205,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1682203081,
|
"lastModified": 1703113217,
|
||||||
"narHash": "sha256-kRL4ejWDhi0zph/FpebFYhzqlOBrk0Pl3dzGEKSAlEw=",
|
"narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "32d3e39c491e2f91152c84f8ad8b003420eab0a1",
|
"rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -297,7 +300,7 @@
|
|||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"nix-flake-tests": "nix-flake-tests",
|
"nix-flake-tests": "nix-flake-tests",
|
||||||
"nixneovimplugins": "nixneovimplugins",
|
"nixneovimplugins": "nixneovimplugins",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nmd": "nmd",
|
"nmd": "nmd",
|
||||||
"nmt": "nmt"
|
"nmt": "nmt"
|
||||||
},
|
},
|
||||||
@@ -342,22 +345,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1677676435,
|
|
||||||
"narHash": "sha256-6FxdcmQr5JeZqsQvfinIMr0XcTyTuR7EXX0H3ANShpQ=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "a08d6979dd7c82c4cef0dcc6ac45ab16051c1169",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681001314,
|
"lastModified": 1681001314,
|
||||||
"narHash": "sha256-5sDnCLdrKZqxLPK4KA8+f4A3YKO/u6ElpMILvX0g72c=",
|
"narHash": "sha256-5sDnCLdrKZqxLPK4KA8+f4A3YKO/u6ElpMILvX0g72c=",
|
||||||
@@ -372,7 +359,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1705496572,
|
"lastModified": 1705496572,
|
||||||
"narHash": "sha256-rPIe9G5EBLXdBdn9ilGc0nq082lzQd0xGGe092R/5QE=",
|
"narHash": "sha256-rPIe9G5EBLXdBdn9ilGc0nq082lzQd0xGGe092R/5QE=",
|
||||||
@@ -390,11 +377,11 @@
|
|||||||
},
|
},
|
||||||
"nixstable": {
|
"nixstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1705641746,
|
"lastModified": 1708831307,
|
||||||
"narHash": "sha256-D6c2aH8HQbWc7ZWSV0BUpFpd94ImFyCP8jFIsKQ4Slg=",
|
"narHash": "sha256-0iL/DuGjiUeck1zEaL+aIe2WvA3/cVhp/SlmTcOZXH4=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d2003f2223cbb8cd95134e4a0541beea215c1073",
|
"rev": "5bf1cadb72ab4e77cb0b700dab76bcdaf88f706b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -406,11 +393,11 @@
|
|||||||
},
|
},
|
||||||
"nixunstable": {
|
"nixunstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1707092692,
|
"lastModified": 1709961763,
|
||||||
"narHash": "sha256-ZbHsm+mGk/izkWtT4xwwqz38fdlwu7nUUKXTOmm4SyE=",
|
"narHash": "sha256-6H95HGJHhEZtyYA3rIQpvamMKAGoa8Yh2rFV29QnuGw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "faf912b086576fd1a15fca610166c98d47bc667e",
|
"rev": "3030f185ba6a4bf4f18b87f345f104e6a6961f34",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -556,6 +543,21 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"wsl": {
|
"wsl": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
@@ -565,11 +567,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689163449,
|
"lastModified": 1709211223,
|
||||||
"narHash": "sha256-C/cm0fRoNGx00lDOieW5439jpBH9VRWRJcAOXUFy+zs=",
|
"narHash": "sha256-1cjd+yXbTlnCwNwEDjn289rJ2f0er5M8pOig4PxniEM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"rev": "20a1f182aed3d2bbc72f62f5814fc3dd34a1cf0c",
|
"rev": "3257ad7f173b0314c8a42fec450fa6556495b97c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -5,7 +5,10 @@
|
|||||||
description = "Greg's machines!";
|
description = "Greg's machines!";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
agenix.url = "github:ryantm/agenix";
|
agenix = {
|
||||||
|
url = "github:ryantm/agenix";
|
||||||
|
inputs.nixpkgs.follows = "nixunstable";
|
||||||
|
};
|
||||||
darwin = {
|
darwin = {
|
||||||
url = "github:lnl7/nix-darwin/master";
|
url = "github:lnl7/nix-darwin/master";
|
||||||
inputs.nixpkgs.follows = "nixunstable";
|
inputs.nixpkgs.follows = "nixunstable";
|
||||||
@@ -65,6 +68,9 @@
|
|||||||
unstable = self.nixosConfigurations.jude.config.system.build.toplevel;
|
unstable = self.nixosConfigurations.jude.config.system.build.toplevel;
|
||||||
stable = self.nixosConfigurations.linode.config.system.build.toplevel;
|
stable = self.nixosConfigurations.linode.config.system.build.toplevel;
|
||||||
};
|
};
|
||||||
|
aarch64-linux = {
|
||||||
|
unstable = self.nixosConfigurations.nixos.config.system.build.toplevel;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nixosConfigurations = (import ./hosts { inherit inputs overlays; });
|
nixosConfigurations = (import ./hosts { inherit inputs overlays; });
|
||||||
@@ -94,7 +100,6 @@
|
|||||||
|
|
||||||
overlays = {
|
overlays = {
|
||||||
default = local_overlay;
|
default = local_overlay;
|
||||||
all = overlays;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
modules = import ./modules;
|
modules = import ./modules;
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
{ pkgs, lib, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
darwinPkgs = [];
|
|
||||||
x86Pkgs = with pkgs; [
|
|
||||||
discord
|
|
||||||
element-desktop
|
|
||||||
slack
|
|
||||||
];
|
|
||||||
armPkgs = with pkgs; [
|
|
||||||
element-desktop
|
|
||||||
];
|
|
||||||
in {
|
|
||||||
home.packages = ( if ( pkgs.stdenv.hostPlatform.isDarwin ) then darwinPkgs else
|
|
||||||
( if ( lib.hasPrefix "aarch64" pkgs.system ) then armPkgs else
|
|
||||||
( if ( lib.hasPrefix "x86_64" pkgs.system ) then x86Pkgs else [] )
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
excludes = systems: opts: (
|
|
||||||
if ( builtins.all (x: pkgs.system != x) systems ) then opts else []
|
|
||||||
);
|
|
||||||
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./chat.nix
|
|
||||||
./firefox.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# These packages are Linux only
|
|
||||||
home.packages = with pkgs; ( excludes ["x86_64-darwin" "aarch64-darwin"]
|
|
||||||
[
|
|
||||||
cdrtools
|
|
||||||
vlc
|
|
||||||
x265
|
|
||||||
]) ++
|
|
||||||
|
|
||||||
# x86_64-linux only
|
|
||||||
( excludes ["x86_64-darwin" "aarch64-darwin" "aarch64-linux"]
|
|
||||||
[
|
|
||||||
bitwarden
|
|
||||||
endeavour
|
|
||||||
gnucash
|
|
||||||
jellyfin-media-player
|
|
||||||
libreoffice
|
|
||||||
#logseq
|
|
||||||
nextcloud-client
|
|
||||||
]) ++
|
|
||||||
|
|
||||||
# Items that are not supported on ARM/Linux
|
|
||||||
( excludes ["aarch64-linux"]
|
|
||||||
[
|
|
||||||
onlyoffice-bin
|
|
||||||
synology-drive-client
|
|
||||||
zoom-us
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
{ lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
# For now, we ignore this and don't install it
|
|
||||||
ffPkgs = if ( pkgs.stdenv.hostPlatform.isDarwin )
|
|
||||||
then pkgs.firefox-bin
|
|
||||||
else pkgs.firefox-wayland.override { cfg.enableGnomeExtensions = true; };
|
|
||||||
|
|
||||||
vars = {
|
|
||||||
MOZ_ENABLE_WAYLAND = "1";
|
|
||||||
XDG_CURRENT_DESKTOP = "sway";
|
|
||||||
};
|
|
||||||
in with lib;
|
|
||||||
{
|
|
||||||
programs.firefox = {
|
|
||||||
enable = (! pkgs.stdenv.hostPlatform.isDarwin);
|
|
||||||
package = ffPkgs;
|
|
||||||
profiles = {
|
|
||||||
default = {
|
|
||||||
settings = {
|
|
||||||
"app.update.auto" = false;
|
|
||||||
"browser.ctrlTab.sortByRecentlyUsed" = true;
|
|
||||||
"browser.startup.page" = 3;
|
|
||||||
"browser.startup.homepage" = "https://thehellings.com";
|
|
||||||
"doh-rollout.doorhanger-decision" = "UIDisabled";
|
|
||||||
"doh-rollout.doneFirstRun" = true;
|
|
||||||
"signon.rememberSignons" = false;
|
|
||||||
};
|
|
||||||
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
||||||
bitwarden
|
|
||||||
bypass-paywalls-clean
|
|
||||||
gsconnect
|
|
||||||
foxyproxy-standard
|
|
||||||
multi-account-containers
|
|
||||||
plasma-integration
|
|
||||||
octotree
|
|
||||||
refined-github
|
|
||||||
tree-style-tab
|
|
||||||
ublock-origin
|
|
||||||
unpaywall
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.bash.sessionVariables = vars;
|
|
||||||
|
|
||||||
programs.xonsh.sessionVariables = vars;
|
|
||||||
}
|
|
||||||
+3
-4
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, lib, gui, gnome,
|
{ pkgs, lib,
|
||||||
inputs,
|
inputs,
|
||||||
host ? "most",
|
host ? "most",
|
||||||
...}:
|
...}:
|
||||||
@@ -15,11 +15,9 @@
|
|||||||
./vim.nix
|
./vim.nix
|
||||||
./xonsh.nix
|
./xonsh.nix
|
||||||
./hosts/${host}
|
./hosts/${host}
|
||||||
] ++ ( if gui then [ ./gui ] else []);
|
];
|
||||||
|
|
||||||
|
|
||||||
greg.gnome = gnome;
|
|
||||||
|
|
||||||
programs.tmux = {
|
programs.tmux = {
|
||||||
enable = true;
|
enable = true;
|
||||||
keyMode = "vi";
|
keyMode = "vi";
|
||||||
@@ -54,5 +52,6 @@
|
|||||||
tree
|
tree
|
||||||
unzip
|
unzip
|
||||||
wget
|
wget
|
||||||
|
zip
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,9 @@
|
|||||||
];
|
];
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
(mumble.override { pulseSupport = true; })
|
(mumble.override { pulseSupport = true; })
|
||||||
fluffychat
|
|
||||||
logseq
|
logseq
|
||||||
];
|
];
|
||||||
|
greg.gui = true;
|
||||||
|
greg.sway = false;
|
||||||
|
greg.gnome = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,9 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./gnome.nix
|
./gnome.nix
|
||||||
|
./gui.nix
|
||||||
./python.nix
|
./python.nix
|
||||||
|
./sway.nix
|
||||||
./xonsh.nix
|
./xonsh.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,91 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.greg.gui;
|
||||||
|
|
||||||
|
excludes = systems: opts: (
|
||||||
|
if ( builtins.all (x: pkgs.system != x) systems ) then opts else []
|
||||||
|
);
|
||||||
|
|
||||||
|
# For now, we ignore this and don't install it
|
||||||
|
ffPkgs = if ( pkgs.stdenv.hostPlatform.isDarwin )
|
||||||
|
then pkgs.firefox-bin
|
||||||
|
else pkgs.firefox-wayland.override { cfg.enableGnomeExtensions = true; };
|
||||||
|
|
||||||
|
vars = {
|
||||||
|
MOZ_ENABLE_WAYLAND = "1";
|
||||||
|
XDG_CURRENT_DESKTOP = "sway";
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
options.greg.gui = lib.mkEnableOption "Enable GUI programs";
|
||||||
|
|
||||||
|
config = (lib.mkIf cfg {
|
||||||
|
# These packages are Linux only
|
||||||
|
home.packages = with pkgs; ( excludes ["x86_64-darwin" "aarch64-darwin"]
|
||||||
|
[
|
||||||
|
cdrtools
|
||||||
|
fluffychat
|
||||||
|
cinny-desktop
|
||||||
|
qpwgraph
|
||||||
|
vlc
|
||||||
|
x265
|
||||||
|
]) ++
|
||||||
|
|
||||||
|
# x86_64-linux only
|
||||||
|
( excludes ["x86_64-darwin" "aarch64-darwin" "aarch64-linux"]
|
||||||
|
[
|
||||||
|
bitwarden
|
||||||
|
discord
|
||||||
|
endeavour
|
||||||
|
gnucash
|
||||||
|
jellyfin-media-player
|
||||||
|
libreoffice
|
||||||
|
#logseq
|
||||||
|
nextcloud-client
|
||||||
|
slack
|
||||||
|
]) ++
|
||||||
|
|
||||||
|
# Items that are not supported on ARM/Linux
|
||||||
|
( excludes ["aarch64-linux"]
|
||||||
|
[
|
||||||
|
onlyoffice-bin
|
||||||
|
synology-drive-client
|
||||||
|
zoom-us
|
||||||
|
]);
|
||||||
|
|
||||||
|
programs.firefox = {
|
||||||
|
enable = (! pkgs.stdenv.hostPlatform.isDarwin);
|
||||||
|
package = ffPkgs;
|
||||||
|
profiles = {
|
||||||
|
default = {
|
||||||
|
settings = {
|
||||||
|
"app.update.auto" = false;
|
||||||
|
"browser.ctrlTab.sortByRecentlyUsed" = true;
|
||||||
|
"browser.startup.page" = 3;
|
||||||
|
"browser.startup.homepage" = "https://thehellings.com";
|
||||||
|
"doh-rollout.doorhanger-decision" = "UIDisabled";
|
||||||
|
"doh-rollout.doneFirstRun" = true;
|
||||||
|
"signon.rememberSignons" = false;
|
||||||
|
};
|
||||||
|
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||||
|
bitwarden
|
||||||
|
bypass-paywalls-clean
|
||||||
|
gsconnect
|
||||||
|
foxyproxy-standard
|
||||||
|
multi-account-containers
|
||||||
|
plasma-integration
|
||||||
|
octotree
|
||||||
|
refined-github
|
||||||
|
tree-style-tab
|
||||||
|
ublock-origin
|
||||||
|
unpaywall
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# This is supposed to be in support of Firefox, but I dunno...
|
||||||
|
programs.bash.sessionVariables = vars;
|
||||||
|
programs.xonsh.sessionVariables = vars;
|
||||||
|
});
|
||||||
|
}
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.greg.sway;
|
||||||
|
file_browser = {
|
||||||
|
pkg = pkgs.krusader;
|
||||||
|
path = "${pkgs.krusader}/bin/krusader";
|
||||||
|
};
|
||||||
|
term = "${pkgs.alacritty}/bin/alacritty";
|
||||||
|
msg = "${pkgs.sway}/bin/swaymsg";
|
||||||
|
sleep = "${pkgs.coreutils}/bin/sleep";
|
||||||
|
workstation1 = pkgs.writeScriptBin "workstation1" (builtins.concatStringsSep "\n" [
|
||||||
|
"${msg} \"workspace 1 ; exec ${pkgs.firefox}/bin/firefox ; split horizontal ; exec ${pkgs.element-desktop}/bin/element-desktop \""
|
||||||
|
"${sleep} 1"
|
||||||
|
"${msg} '[app_id=\"firefox\"]' move left"
|
||||||
|
"${msg} '[instance=\"element\"]' \"layout tabbed ; exec ${term} \""
|
||||||
|
"${msg} '[app_id=\"firefox\"]' move left"
|
||||||
|
"${sleep} 0.3"
|
||||||
|
"${msg} '[app_id=\"Alacritty\" workspace=\"1\"]' move right"
|
||||||
|
"${msg} '[app_id=\"firefox\"]' resize grow width 300 px"
|
||||||
|
]);
|
||||||
|
workstation2 = pkgs.writeScriptBin "workstation2" (builtins.concatStringsSep "\n" [
|
||||||
|
"${sleep} 5"
|
||||||
|
"${msg} \"workspace 2 ; exec ${term} ; layout tabbed\""
|
||||||
|
]);
|
||||||
|
in {
|
||||||
|
options.greg.sway = lib.mkEnableOption "Enable Sway support and settings";
|
||||||
|
|
||||||
|
config = (lib.mkIf cfg {
|
||||||
|
programs.swaylock.enable = true;
|
||||||
|
|
||||||
|
wayland.windowManager.sway = let
|
||||||
|
mod = config.wayland.windowManager.sway.config.modifier;
|
||||||
|
in {
|
||||||
|
enable = true;
|
||||||
|
config = rec {
|
||||||
|
#fonts.size = 10.0;
|
||||||
|
keybindings = lib.mkOptionDefault {
|
||||||
|
"Mod4+l" = "exec ${pkgs.swaylock}/bin/swaylock -c 000000";
|
||||||
|
"Mod4+h" = "exec ${pkgs.qpwgraph}/bin/qpwgraph -x /home/greg/sound/headphones.qpwgraph -m";
|
||||||
|
"Mod4+m" = "exec ${pkgs.qpwgraph}/bin/qpwgraph -x /home/greg/sound/monitor.qpwgraph -m";
|
||||||
|
"Mod4+b" = "exec ${pkgs.qpwgraph}/bin/qpwgraph -x /home/greg/sound/both.qpwgraph -m";
|
||||||
|
|
||||||
|
"${mod}+Shift+Return" = file_browser.path;
|
||||||
|
};
|
||||||
|
modifier = "Mod1";
|
||||||
|
output = {
|
||||||
|
"Samsung Electric Company S24E650 H4ZN600985" = {
|
||||||
|
mode = "1920x1200";
|
||||||
|
transform = "90";
|
||||||
|
pos = "0 0";
|
||||||
|
};
|
||||||
|
"ViewSonic Corporation VA2252 Series VMT201800925" = {
|
||||||
|
mode = "1920x1080";
|
||||||
|
pos = "200 1920";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
terminal = term;
|
||||||
|
startup = [
|
||||||
|
{ command = "${workstation1}/bin/workstation1"; }
|
||||||
|
{ command = "${workstation2}/bin/workstation2"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
extraOptions = [
|
||||||
|
"--unsupported-gpu"
|
||||||
|
];
|
||||||
|
extraSessionCommands = ''
|
||||||
|
export WLR_NO_HARDWARE_CURSORS=1
|
||||||
|
'';
|
||||||
|
systemd.enable = true;
|
||||||
|
wrapperFeatures = {
|
||||||
|
base = true;
|
||||||
|
gtk = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.pointerCursor = {
|
||||||
|
name = "Adwaita";
|
||||||
|
package = pkgs.gnome.adwaita-icon-theme;
|
||||||
|
size = 12;
|
||||||
|
x11 = {
|
||||||
|
enable = true;
|
||||||
|
defaultCursor = "Adwaita";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
arj
|
||||||
|
dpkg
|
||||||
|
kate
|
||||||
|
kget
|
||||||
|
krename
|
||||||
|
file_browser.pkg
|
||||||
|
p7zip
|
||||||
|
plocate
|
||||||
|
rpm
|
||||||
|
qpwgraph
|
||||||
|
xorg.xev
|
||||||
|
xorg.xmodmap
|
||||||
|
xxdiff
|
||||||
|
];
|
||||||
|
});
|
||||||
|
}
|
||||||
@@ -1,6 +1,12 @@
|
|||||||
{ lib, ... }:
|
{ lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
# Workaround to set the config value to user read-only
|
||||||
|
# This allows things like SSH in distrobox to read the config file just fine
|
||||||
|
home.file.".ssh/config" = {
|
||||||
|
target = ".ssh/config_source";
|
||||||
|
onChange = ''cat ~/.ssh/config_source > ~/.ssh/config && chmod 400 ~/.ssh/config'';
|
||||||
|
};
|
||||||
programs.ssh = {
|
programs.ssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
serverAliveInterval = 60;
|
serverAliveInterval = 60;
|
||||||
|
|||||||
+3
-9
@@ -8,8 +8,6 @@ let
|
|||||||
machine = {
|
machine = {
|
||||||
channel ? inputs.nixstable,
|
channel ? inputs.nixstable,
|
||||||
extraMods ? [],
|
extraMods ? [],
|
||||||
gnome ? false,
|
|
||||||
gui ? false,
|
|
||||||
name,
|
name,
|
||||||
system ? "x86_64-linux",
|
system ? "x86_64-linux",
|
||||||
hm ? inputs.hm
|
hm ? inputs.hm
|
||||||
@@ -20,7 +18,7 @@ let
|
|||||||
};
|
};
|
||||||
in channel.lib.nixosSystem {
|
in channel.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = { inherit nixpkgs inputs; };
|
specialArgs = { inherit nixpkgs inputs overlays; };
|
||||||
modules = [
|
modules = [
|
||||||
{
|
{
|
||||||
nixpkgs.overlays = overlays;
|
nixpkgs.overlays = overlays;
|
||||||
@@ -28,7 +26,7 @@ let
|
|||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.users.greg = import ../home/home.nix;
|
home-manager.users.greg = import ../home/home.nix;
|
||||||
home-manager.extraSpecialArgs = {
|
home-manager.extraSpecialArgs = {
|
||||||
inherit gnome gui inputs overlays;
|
inherit inputs overlays;
|
||||||
home = "/home/greg";
|
home = "/home/greg";
|
||||||
host = name;
|
host = name;
|
||||||
};
|
};
|
||||||
@@ -41,11 +39,7 @@ let
|
|||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
genesis = machine { name = "genesis"; };
|
genesis = machine { name = "genesis"; };
|
||||||
jude = unstable {
|
jude = unstable { name = "jude"; };
|
||||||
name = "jude";
|
|
||||||
gnome = true;
|
|
||||||
gui = true;
|
|
||||||
};
|
|
||||||
icdm-root = unstable { name = "icdm-root"; };
|
icdm-root = unstable { name = "icdm-root"; };
|
||||||
linode = machine { name = "linode"; };
|
linode = machine { name = "linode"; };
|
||||||
mm = unstable { name = "mm"; };
|
mm = unstable { name = "mm"; };
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
services.xserver = {
|
services.xserver.xkb = {
|
||||||
layout = "us";
|
layout = "us";
|
||||||
xkbVariant = "";
|
variant = "";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
{
|
{
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot = {
|
boot = {
|
||||||
|
binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||||
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
supportedFilesystems = [ "ntfs" ];
|
supportedFilesystems = [ "ntfs" ];
|
||||||
loader = {
|
loader = {
|
||||||
timeout = 15;
|
timeout = 15;
|
||||||
|
|||||||
+54
-35
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, config, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
@@ -23,46 +23,64 @@
|
|||||||
hostName = "jude";
|
hostName = "jude";
|
||||||
enableIPv6 = false;
|
enableIPv6 = false;
|
||||||
interfaces.enp12s0.useDHCP = true;
|
interfaces.enp12s0.useDHCP = true;
|
||||||
firewall.enable = true;
|
firewall = {
|
||||||
|
enable = false;
|
||||||
|
allowedTCPPorts = [ 21000 ];
|
||||||
|
allowedUDPPorts = [ 21000 21010 ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
greg = {
|
greg = {
|
||||||
tailscale.enable = true;
|
tailscale.enable = true;
|
||||||
gnome.enable = true;
|
sway.enable = false;
|
||||||
kde.enable = false;
|
gnome.enable = false;
|
||||||
|
kde.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
|
||||||
bind # For things like nslookup
|
|
||||||
create_ssl
|
|
||||||
darktable
|
|
||||||
expect
|
|
||||||
gimp
|
|
||||||
gnucash
|
|
||||||
graphviz
|
|
||||||
flock
|
|
||||||
ffmpeg
|
|
||||||
handbrake
|
|
||||||
imagemagick
|
|
||||||
libtheora
|
|
||||||
libxml2
|
|
||||||
linode-cli
|
|
||||||
makemkv
|
|
||||||
nix-du
|
|
||||||
nix-tree
|
|
||||||
oathToolkit
|
|
||||||
synology-drive-client
|
|
||||||
terraform
|
|
||||||
vagrant
|
|
||||||
ventoy
|
|
||||||
|
|
||||||
# Video/Audio data composition framework tools like "gst-inspect", "gst-launch" ...
|
environment.systemPackages = with pkgs; lib.mkMerge [
|
||||||
gst_all_1.gstreamer
|
[ # for Immersed
|
||||||
gst_all_1.gst-plugins-base
|
cudatoolkit
|
||||||
gst_all_1.gst-plugins-good
|
immersed-vr
|
||||||
gst_all_1.gst-plugins-bad
|
libva
|
||||||
gst_all_1.gst-plugins-ugly
|
]
|
||||||
gst_all_1.gst-libav
|
[
|
||||||
gst_all_1.gst-vaapi
|
bind # For things like nslookup
|
||||||
|
create_ssl
|
||||||
|
darktable
|
||||||
|
distrobox
|
||||||
|
expect
|
||||||
|
gimp
|
||||||
|
gparted
|
||||||
|
gnucash
|
||||||
|
graphviz
|
||||||
|
flock
|
||||||
|
ffmpeg
|
||||||
|
handbrake
|
||||||
|
imagemagick
|
||||||
|
libtheora
|
||||||
|
libxml2
|
||||||
|
linode-cli
|
||||||
|
makemkv
|
||||||
|
nix-du
|
||||||
|
nix-tree
|
||||||
|
oathToolkit
|
||||||
|
synology-drive-client
|
||||||
|
terraform
|
||||||
|
vagrant
|
||||||
|
ventoy
|
||||||
|
]
|
||||||
|
|
||||||
|
[
|
||||||
|
# Video/Audio data composition framework tools like "gst-inspect", "gst-launch" ...
|
||||||
|
gst_all_1.gstreamer
|
||||||
|
gst_all_1.gst-plugins-base
|
||||||
|
gst_all_1.gst-plugins-good
|
||||||
|
gst_all_1.gst-plugins-bad
|
||||||
|
gst_all_1.gst-plugins-ugly
|
||||||
|
gst_all_1.gst-libav
|
||||||
|
gst_all_1.gst-vaapi
|
||||||
|
]
|
||||||
];
|
];
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
"/boot" = {
|
"/boot" = {
|
||||||
@@ -89,6 +107,7 @@
|
|||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
wireplumber.enable = true;
|
wireplumber.enable = true;
|
||||||
};
|
};
|
||||||
|
locate.enable = true;
|
||||||
xserver.videoDrivers = [ "nvidia" ];
|
xserver.videoDrivers = [ "nvidia" ];
|
||||||
};
|
};
|
||||||
hardware = {
|
hardware = {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
./git.nix
|
./git.nix
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./podman.nix
|
./podman.nix
|
||||||
|
./matrix.nix
|
||||||
./nextcloud.nix
|
./nextcloud.nix
|
||||||
./nginx.nix
|
./nginx.nix
|
||||||
./postgres.nix
|
./postgres.nix
|
||||||
./synapse.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
greg = {
|
greg = {
|
||||||
|
|||||||
@@ -0,0 +1,62 @@
|
|||||||
|
# Registration of new users is disabled for the public, but I can create
|
||||||
|
# them by the following commands:
|
||||||
|
# nix run nixpkgs.matrix-synapse
|
||||||
|
# register_new_matrix_user -k "B9EoPr2WV9hzwc7uL2Sx1JmvCeKDEOGCpB0uginQcQtEH4wzRtkSIdo7lltrjSQa" http://localhost:8448
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
let
|
||||||
|
domain = "${config.networking.domain}";
|
||||||
|
fqdn = "matrix.${domain}";
|
||||||
|
conn = "postgresql:///dendrite?sslmode=disable&host=/run/postgresql";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
services.nginx = {
|
||||||
|
virtualHosts = {
|
||||||
|
# Server the '.well-known' files to find the Matrix API server
|
||||||
|
"${domain}" = {
|
||||||
|
enableACME = true;
|
||||||
|
forceSSL = true;
|
||||||
|
|
||||||
|
# This is needed so that servers contacting hellings.com can find
|
||||||
|
# the actual application server at matrix.thehellings.com
|
||||||
|
locations."= /.well-known/matrix/server".extraConfig =
|
||||||
|
let
|
||||||
|
server = { "m.server" = "${fqdn}:443"; };
|
||||||
|
in ''
|
||||||
|
add_header Content-Type application/json;
|
||||||
|
return 200 '${builtins.toJSON server}';
|
||||||
|
'';
|
||||||
|
|
||||||
|
locations."= /.well-known/matrix/client".extraConfig =
|
||||||
|
let
|
||||||
|
client = {
|
||||||
|
"m.homeserver" = { "base_url" = "https://${fqdn}"; };
|
||||||
|
"m.identity_server" = { "base_url" = "https://vector.im"; };
|
||||||
|
};
|
||||||
|
in ''
|
||||||
|
add_header Content-Type application/json;
|
||||||
|
add_header Access-Control-Allow-Origin *;
|
||||||
|
return 200 '${builtins.toJSON client}';
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# Reverse proxy in front of the actual Matrix server
|
||||||
|
"${fqdn}" = {
|
||||||
|
enableACME = true;
|
||||||
|
forceSSL = true;
|
||||||
|
|
||||||
|
# Not the appropriate place for the chat client
|
||||||
|
locations."/".extraConfig = "return 404;";
|
||||||
|
|
||||||
|
locations."/_matrix" = {
|
||||||
|
proxyPass = "http://matrix.shire-zebra.ts.net:8448"; # Lacking the trailing / is correct
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Open networking ports for the server
|
||||||
|
networking.firewall = {
|
||||||
|
enable = true;
|
||||||
|
allowedTCPPorts = [ 80 443 ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -5,7 +5,6 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
checkConfig = true;
|
checkConfig = true;
|
||||||
ensureDatabases = [
|
ensureDatabases = [
|
||||||
"dendrite"
|
|
||||||
"nextcloud"
|
"nextcloud"
|
||||||
];
|
];
|
||||||
#initialScript = pkgs.writeText "create-matrix-db.sql" ''
|
#initialScript = pkgs.writeText "create-matrix-db.sql" ''
|
||||||
@@ -16,10 +15,7 @@
|
|||||||
ensureUsers = [ {
|
ensureUsers = [ {
|
||||||
name = "nextcloud";
|
name = "nextcloud";
|
||||||
ensureDBOwnership = true;
|
ensureDBOwnership = true;
|
||||||
} {
|
} ];
|
||||||
name = "dendrite";
|
|
||||||
ensureDBOwnership = true;
|
|
||||||
} ];
|
|
||||||
settings = {
|
settings = {
|
||||||
log_connections = true;
|
log_connections = true;
|
||||||
log_statement = "all";
|
log_statement = "all";
|
||||||
@@ -34,7 +30,6 @@ root root postgres
|
|||||||
services.postgresqlBackup = {
|
services.postgresqlBackup = {
|
||||||
enable = true;
|
enable = true;
|
||||||
databases = [
|
databases = [
|
||||||
"dendrite"
|
|
||||||
"nextcloud"
|
"nextcloud"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,137 +0,0 @@
|
|||||||
# Registration of new users is disabled for the public, but I can create
|
|
||||||
# them by the following commands:
|
|
||||||
# nix run nixpkgs.matrix-synapse
|
|
||||||
# register_new_matrix_user -k "B9EoPr2WV9hzwc7uL2Sx1JmvCeKDEOGCpB0uginQcQtEH4wzRtkSIdo7lltrjSQa" http://localhost:8448
|
|
||||||
{ config, pkgs, ... }:
|
|
||||||
let
|
|
||||||
domain = "${config.networking.domain}";
|
|
||||||
fqdn = "matrix.${domain}";
|
|
||||||
conn = "postgresql:///dendrite?sslmode=disable&host=/run/postgresql";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
services.nginx = {
|
|
||||||
virtualHosts = {
|
|
||||||
# Server the '.well-known' files to find the Matrix API server
|
|
||||||
"${domain}" = {
|
|
||||||
enableACME = true;
|
|
||||||
forceSSL = true;
|
|
||||||
|
|
||||||
# This is needed so that servers contacting hellings.com can find
|
|
||||||
# the actual application server at matrix.thehellings.com
|
|
||||||
locations."= /.well-known/matrix/server".extraConfig =
|
|
||||||
let
|
|
||||||
server = { "m.server" = "${fqdn}:443"; };
|
|
||||||
in ''
|
|
||||||
add_header Content-Type application/json;
|
|
||||||
return 200 '${builtins.toJSON server}';
|
|
||||||
'';
|
|
||||||
|
|
||||||
locations."= /.well-known/matrix/client".extraConfig =
|
|
||||||
let
|
|
||||||
client = {
|
|
||||||
"m.homeserver" = { "base_url" = "https://${fqdn}"; };
|
|
||||||
"m.identity_server" = { "base_url" = "https://vector.im"; };
|
|
||||||
};
|
|
||||||
in ''
|
|
||||||
add_header Content-Type application/json;
|
|
||||||
add_header Access-Control-Allow-Origin *;
|
|
||||||
return 200 '${builtins.toJSON client}';
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Reverse proxy in front of the actual Matrix server
|
|
||||||
"${fqdn}" = {
|
|
||||||
enableACME = true;
|
|
||||||
forceSSL = true;
|
|
||||||
|
|
||||||
# Not the appropriate place for the chat client
|
|
||||||
locations."/".extraConfig = "return 404;";
|
|
||||||
|
|
||||||
locations."/_matrix" = {
|
|
||||||
proxyPass = "http://127.0.0.1:8448"; # Lacking the trailing / is correct
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Run Element web
|
|
||||||
"chat.${fqdn}" = {
|
|
||||||
enableACME = true;
|
|
||||||
forceSSL = true;
|
|
||||||
serverAliases = [
|
|
||||||
"chat.${domain}"
|
|
||||||
];
|
|
||||||
root = pkgs.element-web.override {
|
|
||||||
conf.default_server_config."m.homeserver" = {
|
|
||||||
"base_url" = "https://${fqdn}";
|
|
||||||
"server_name" = "${fqdn}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Environment secrets
|
|
||||||
age.secrets.dendrite = {
|
|
||||||
file = ../../secrets/dendrite.age;
|
|
||||||
owner = "dendrite";
|
|
||||||
};
|
|
||||||
|
|
||||||
users.users.dendrite = {
|
|
||||||
isSystemUser = true;
|
|
||||||
group = "dendrite";
|
|
||||||
};
|
|
||||||
users.groups.dendrite = {};
|
|
||||||
|
|
||||||
systemd.services.dendrite.serviceConfig = {
|
|
||||||
User = "dendrite";
|
|
||||||
};
|
|
||||||
|
|
||||||
services.dendrite = {
|
|
||||||
enable = true;
|
|
||||||
environmentFile = "/run/agenix/dendrite";
|
|
||||||
httpPort = 8448;
|
|
||||||
# Identify ourselves as the root of our own domain
|
|
||||||
settings = (
|
|
||||||
(builtins.listToAttrs (
|
|
||||||
(map (x: { name = x; value = { database.connection_string = conn; }; }) [
|
|
||||||
"app_service_api"
|
|
||||||
"federation_api"
|
|
||||||
"key_server"
|
|
||||||
"media_api"
|
|
||||||
"mscs"
|
|
||||||
"relay_api"
|
|
||||||
"room_server"
|
|
||||||
"sync_api"
|
|
||||||
])
|
|
||||||
) ) //
|
|
||||||
{
|
|
||||||
user_api.account_database.connection_string = conn;
|
|
||||||
user_api.device_database.connection_string = conn;
|
|
||||||
global = {
|
|
||||||
database = {
|
|
||||||
connection_string = conn;
|
|
||||||
max_open_conns = 90;
|
|
||||||
max_idle_conns = 5;
|
|
||||||
conn_max_lifetime = -1;
|
|
||||||
};
|
|
||||||
server_name = "thehellings.com";
|
|
||||||
trusted_third_party_id_servers = [
|
|
||||||
"matrix.org"
|
|
||||||
"vector.im"
|
|
||||||
"jupiterbroadcasting.com"
|
|
||||||
];
|
|
||||||
# Generate this with {path-to-dendrite}/bin/generate-keys --private-key /etc/dendrite.pem
|
|
||||||
private_key = "/etc/dendrite.pem";
|
|
||||||
};
|
|
||||||
client_api = {
|
|
||||||
registration_enabled = false;
|
|
||||||
registration_shared_secret = "\${REGISTRATION_SHARED_SECRET}";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
# Open networking ports for the server
|
|
||||||
networking.firewall = {
|
|
||||||
enable = true;
|
|
||||||
allowedTCPPorts = [ 80 443 ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -183,9 +183,9 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
xserver = {
|
xserver.xkb = {
|
||||||
layout = "us";
|
layout = "us";
|
||||||
xkbVariant = "";
|
variant = "";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,20 +1,11 @@
|
|||||||
{ inputs, ...}:
|
|
||||||
{ config, pkgs, lib, ... }: let
|
{ config, pkgs, lib, ... }: let
|
||||||
registryPort = 5000;
|
registryPort = 5000;
|
||||||
vpnIp = "100.78.226.76";
|
vpnIp = "100.78.226.76";
|
||||||
containerIp = "192.168.200.2";
|
containerIp = "192.168.200.2";
|
||||||
in {
|
in {
|
||||||
imports = [
|
|
||||||
inputs.agenix.nixosModules.default
|
|
||||||
inputs.self.modules.nixosModule
|
|
||||||
];
|
|
||||||
|
|
||||||
nixpkgs.overlays = inputs.self.overlays.all;
|
|
||||||
|
|
||||||
age.identityPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
|
||||||
age.secretsMountPoint = "/run/derp";
|
age.secretsMountPoint = "/run/derp";
|
||||||
age.secrets = let
|
age.secrets = let
|
||||||
cfg = n: { file = ../../secrets/gitlab/${n}.age; owner = "github"; mode = "0444"; };
|
cfg = n: { file = ../../secrets/gitlab/${n}.age; owner = "gitlab"; group = "gitlab"; mode = "0444"; };
|
||||||
in {
|
in {
|
||||||
gitlab-secret = cfg "secret";
|
gitlab-secret = cfg "secret";
|
||||||
gitlab-otp = cfg "otp";
|
gitlab-otp = cfg "otp";
|
||||||
@@ -24,13 +15,7 @@ in {
|
|||||||
gitlab-cert = cfg "cert";
|
gitlab-cert = cfg "cert";
|
||||||
};
|
};
|
||||||
|
|
||||||
networking = {
|
networking.firewall.allowedTCPPorts = [ 80 registryPort ];
|
||||||
firewall = {
|
|
||||||
enable = true;
|
|
||||||
allowedTCPPorts = [ 80 registryPort ];
|
|
||||||
};
|
|
||||||
useHostResolvConf = lib.mkForce false;
|
|
||||||
};
|
|
||||||
|
|
||||||
greg.proxies = let
|
greg.proxies = let
|
||||||
t = {
|
t = {
|
||||||
@@ -45,7 +30,6 @@ in {
|
|||||||
"${vpnIp}" = t;
|
"${vpnIp}" = t;
|
||||||
"git.thehellings.lan" = t;
|
"git.thehellings.lan" = t;
|
||||||
};
|
};
|
||||||
greg.tailscale.enable = true;
|
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
virtualisation.docker.enable = true;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ inputs, name, extra ? {}, packages ? [] }:
|
{ inputs, name, extra ? {}, packages ? [], overlays }:
|
||||||
|
|
||||||
({ config, pkgs, lib, ... }:
|
({ config, pkgs, lib, ... }:
|
||||||
let
|
let
|
||||||
@@ -15,7 +15,7 @@ lib.attrsets.recursiveUpdate {
|
|||||||
inputs.self.modules.nixosModule
|
inputs.self.modules.nixosModule
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.overlays = inputs.self.overlays.all;
|
nixpkgs.overlays = overlays;
|
||||||
|
|
||||||
age = {
|
age = {
|
||||||
identityPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
identityPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./git.nix
|
./git.nix
|
||||||
|
./matrix.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
@@ -65,6 +66,9 @@
|
|||||||
configurationLimit = 10;
|
configurationLimit = 10;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
binfmt.emulatedSystems = [
|
||||||
|
"aarch64-linux"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
nixpkgs.config = {
|
nixpkgs.config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
|
|||||||
+8
-28
@@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, lib, inputs, ... }:
|
{ config, pkgs, lib, inputs, overlays, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
@@ -31,25 +31,10 @@ in {
|
|||||||
|
|
||||||
system.activationScripts.makeGitlabDir = lib.stringAfter [ "var" ] "mkdir -p ${gitlabStateDir} && touch ${gitlabStateDir}/touch";
|
system.activationScripts.makeGitlabDir = lib.stringAfter [ "var" ] "mkdir -p ${gitlabStateDir} && touch ${gitlabStateDir}/touch";
|
||||||
|
|
||||||
containers.gitlab = container {
|
greg.containers.gitlab = {
|
||||||
autoStart = true;
|
tailscale = true;
|
||||||
bindMounts = {
|
subnet = "200";
|
||||||
"/var/gitlab/state" = {
|
builder = (import ./container-git.nix);
|
||||||
hostPath = gitlabStateDir;
|
|
||||||
isReadOnly = false;
|
|
||||||
};
|
|
||||||
"/dev/net/tun" = {
|
|
||||||
hostPath = "/dev/net/tun";
|
|
||||||
isReadOnly = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
forwardPorts = [{
|
|
||||||
hostPort = 2222;
|
|
||||||
containerPort = 22;
|
|
||||||
}];
|
|
||||||
hostAddress = "192.168.200.1";
|
|
||||||
localAddress = "192.168.200.2";
|
|
||||||
config = ((import ./container-git.nix) { inherit inputs; });
|
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services = {
|
systemd.services = {
|
||||||
@@ -80,11 +65,6 @@ in {
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"container@gitlab".serviceConfig = {
|
|
||||||
DeviceAllow = [ "/dev/net/tun" ];
|
|
||||||
ProtectKernelModules = false;
|
|
||||||
PrivateDevices = false;
|
|
||||||
};
|
|
||||||
gitlab-runner.serviceConfig.EnvironmentFile = config.age.secrets.docker-auth.path;
|
gitlab-runner.serviceConfig.EnvironmentFile = config.age.secrets.docker-auth.path;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -108,7 +88,7 @@ in {
|
|||||||
hostAddress = "192.168.201.1";
|
hostAddress = "192.168.201.1";
|
||||||
localAddress = "192.168.201.2";
|
localAddress = "192.168.201.2";
|
||||||
config = ((import ./container-runner.nix) {
|
config = ((import ./container-runner.nix) {
|
||||||
inherit inputs;
|
inherit inputs overlays;
|
||||||
name = "qemu";
|
name = "qemu";
|
||||||
packages = with pkgs; [ qemu_full qemu_kvm ];
|
packages = with pkgs; [ qemu_full qemu_kvm ];
|
||||||
extra = {
|
extra = {
|
||||||
@@ -142,7 +122,7 @@ in {
|
|||||||
hostAddress = "192.168.202.1";
|
hostAddress = "192.168.202.1";
|
||||||
localAddress = "192.168.202.2";
|
localAddress = "192.168.202.2";
|
||||||
config = ((import ./container-runner.nix) {
|
config = ((import ./container-runner.nix) {
|
||||||
inherit inputs;
|
inherit inputs overlays;
|
||||||
name = "vbox";
|
name = "vbox";
|
||||||
extra = {
|
extra = {
|
||||||
systemd.services.gitlab-runner.serviceConfig = {
|
systemd.services.gitlab-runner.serviceConfig = {
|
||||||
@@ -168,7 +148,7 @@ in {
|
|||||||
hostAddress = "192.168.203.1";
|
hostAddress = "192.168.203.1";
|
||||||
localAddress = "192.168.203.2";
|
localAddress = "192.168.203.2";
|
||||||
config = ((import ./container-runner.nix) {
|
config = ((import ./container-runner.nix) {
|
||||||
inherit inputs;
|
inherit inputs overlays;
|
||||||
name = "shell";
|
name = "shell";
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -0,0 +1,88 @@
|
|||||||
|
{ config, pkgs, inputs, lib, ... }:
|
||||||
|
let
|
||||||
|
domain = "thehellings.com";
|
||||||
|
fqdn = "matrix.${domain}";
|
||||||
|
conn = "postgresql:///dendrite?sslmode=disable&host=/run/postgresql";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
greg.containers.matrix = {
|
||||||
|
tailscale = true;
|
||||||
|
subnet = "204";
|
||||||
|
builder = { pkgs, config, ... }: {
|
||||||
|
networking.firewall.allowedTCPPorts = [ config.services.dendrite.httpPort ];
|
||||||
|
|
||||||
|
# Environment secrets
|
||||||
|
age = {
|
||||||
|
secrets.dendrite = {
|
||||||
|
file = ../../secrets/dendrite.age;
|
||||||
|
owner = "dendrite";
|
||||||
|
};
|
||||||
|
secrets.dendrite_key = {
|
||||||
|
file = ../../secrets/dendrite_key.age;
|
||||||
|
owner = "dendrite";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.dendrite = {
|
||||||
|
isSystemUser = true;
|
||||||
|
group = "dendrite";
|
||||||
|
};
|
||||||
|
users.groups.dendrite = {};
|
||||||
|
|
||||||
|
systemd.services.dendrite.serviceConfig = {
|
||||||
|
User = "dendrite";
|
||||||
|
};
|
||||||
|
|
||||||
|
greg.databases.dendrite = {};
|
||||||
|
|
||||||
|
services.dendrite = {
|
||||||
|
enable = true;
|
||||||
|
environmentFile = config.age.secrets.dendrite.path;
|
||||||
|
httpPort = 8448;
|
||||||
|
# Identify ourselves as the root of our own domain
|
||||||
|
settings = (
|
||||||
|
(builtins.listToAttrs (
|
||||||
|
(map (x: { name = x; value = { database.connection_string = conn; }; }) [
|
||||||
|
"app_service_api"
|
||||||
|
"federation_api"
|
||||||
|
"key_server"
|
||||||
|
"media_api"
|
||||||
|
"mscs"
|
||||||
|
"relay_api"
|
||||||
|
"room_server"
|
||||||
|
"sync_api"
|
||||||
|
])
|
||||||
|
) ) //
|
||||||
|
{
|
||||||
|
user_api.account_database.connection_string = conn;
|
||||||
|
user_api.device_database.connection_string = conn;
|
||||||
|
global = {
|
||||||
|
database = {
|
||||||
|
connection_string = conn;
|
||||||
|
max_open_conns = 25;
|
||||||
|
max_idle_conns = 5;
|
||||||
|
conn_max_lifetime = -1;
|
||||||
|
};
|
||||||
|
server_name = "thehellings.com";
|
||||||
|
trusted_third_party_id_servers = [
|
||||||
|
"matrix.org"
|
||||||
|
"vector.im"
|
||||||
|
"jupiterbroadcasting.com"
|
||||||
|
];
|
||||||
|
# Generate this with {path-to-dendrite}/bin/generate-keys --private-key /etc/dendrite.pem
|
||||||
|
private_key = config.age.secrets.dendrite_key.path;
|
||||||
|
};
|
||||||
|
client_api = {
|
||||||
|
registration_enabled = false;
|
||||||
|
registration_shared_secret = "\${REGISTRATION_SHARED_SECRET}";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.dendrite = {
|
||||||
|
after = [ "postgresql.service" ];
|
||||||
|
requires = [ "postgresql.service" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -43,6 +43,7 @@
|
|||||||
gnupatch
|
gnupatch
|
||||||
gregpy
|
gregpy
|
||||||
findutils
|
findutils
|
||||||
|
file
|
||||||
hms # My own home manager switcher
|
hms # My own home manager switcher
|
||||||
htop
|
htop
|
||||||
killall
|
killall
|
||||||
|
|||||||
@@ -11,9 +11,9 @@ let
|
|||||||
makeService = name: job: {
|
makeService = name: job: {
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
User = job.user;
|
User = job.user;
|
||||||
ExecPre = lib.optionalString (job.pre != "") job.pre;
|
ExecStartPre = lib.optionalString (job.pre != "") job.pre;
|
||||||
ExecStart = "${pkgs.rsync}/bin/rsync -avz --delete -e '${pkgs.openssh}/bin/ssh -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null' ${job.src}/ backup@chronicles.shire-zebra.ts.net:/volume1/NetBackup/${job.dest}";
|
ExecStart = "${pkgs.rsync}/bin/rsync -avz --delete -e '${pkgs.openssh}/bin/ssh -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null' ${job.src}/ backup@chronicles.shire-zebra.ts.net:/volume1/NetBackup/${job.dest}";
|
||||||
ExecPost = lib.optionalString (job.post != "") job.post;
|
ExecStartPost = lib.optionalString (job.post != "") job.post;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,76 @@
|
|||||||
|
{ config, lib, inputs, overlays, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.greg.containers;
|
||||||
|
|
||||||
|
# Create a container with all our default settings
|
||||||
|
|
||||||
|
makeContainer = name: container: let
|
||||||
|
agekey = "/etc/ssh/agenix_key";
|
||||||
|
in {
|
||||||
|
autoStart = true;
|
||||||
|
hostAddress = "192.168.${container.subnet}.1";
|
||||||
|
localAddress = "192.168.${container.subnet}.2";
|
||||||
|
privateNetwork = true;
|
||||||
|
bindMounts = {
|
||||||
|
"${agekey}".hostPath = "/etc/ssh/ssh_host_ed25519_key"; # This is needed for agenix to
|
||||||
|
};
|
||||||
|
enableTun = container.tailscale;
|
||||||
|
config = { config, pkgs, ... }: {
|
||||||
|
imports = [
|
||||||
|
inputs.agenix.nixosModules.default
|
||||||
|
inputs.self.modules.nixosModule
|
||||||
|
container.builder
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.overlays = overlays;
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
firewall.enable = true;
|
||||||
|
useHostResolvConf = lib.mkForce false;
|
||||||
|
};
|
||||||
|
|
||||||
|
age.identityPaths = [ agekey ];
|
||||||
|
|
||||||
|
greg.tailscale.enable = container.tailscale;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
options.greg.containers = lib.mkOption {
|
||||||
|
default = {};
|
||||||
|
|
||||||
|
type = with lib.types; attrsOf ( submodule (
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
tailscale = lib.mkOption {
|
||||||
|
type = bool;
|
||||||
|
default = false;
|
||||||
|
description = "Enable tailscale in the container";
|
||||||
|
};
|
||||||
|
subnet = lib.mkOption {
|
||||||
|
type = str;
|
||||||
|
default = "200";
|
||||||
|
};
|
||||||
|
builder = lib.mkOption {
|
||||||
|
default = { ... }: {};
|
||||||
|
description = ''
|
||||||
|
This needs to be a function, like the one for
|
||||||
|
a container's config. It will setup the core system above the
|
||||||
|
defaults set in this module.
|
||||||
|
'';
|
||||||
|
example = ''
|
||||||
|
{ pkgs, config, lib, ... } :
|
||||||
|
{
|
||||||
|
services.openssh.enable = true;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
));
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
|
containers = builtins.mapAttrs makeContainer cfg;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.greg.databases;
|
||||||
|
dbs = (lib.attrNames cfg);
|
||||||
|
in {
|
||||||
|
options.greg.databases = lib.mkOption {
|
||||||
|
default = {};
|
||||||
|
type = with lib.types; attrsOf ( submodule (
|
||||||
|
{ name, config, options, ... }: {
|
||||||
|
# Options reserved for future expansion
|
||||||
|
options = {};
|
||||||
|
}
|
||||||
|
));
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf ( dbs != [] ) {
|
||||||
|
services = {
|
||||||
|
postgresql = {
|
||||||
|
enable = true;
|
||||||
|
checkConfig = true;
|
||||||
|
ensureDatabases = dbs;
|
||||||
|
ensureUsers = map (db: { name = db; ensureDBOwnership = true; }) dbs;
|
||||||
|
settings = {
|
||||||
|
log_connections = true;
|
||||||
|
log_statement = "all";
|
||||||
|
logging_collector = true;
|
||||||
|
log_filename = "postgresql.log";
|
||||||
|
};
|
||||||
|
identMap = "root root postgres";
|
||||||
|
};
|
||||||
|
|
||||||
|
postgresqlBackup = {
|
||||||
|
enable = true;
|
||||||
|
databases = dbs;
|
||||||
|
};
|
||||||
|
|
||||||
|
logrotate = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
postgresqlBackup = {
|
||||||
|
enable = true;
|
||||||
|
files = "${config.services.postgresqlBackup.location}/*.gz";
|
||||||
|
};
|
||||||
|
postgresLog = {
|
||||||
|
enable = true;
|
||||||
|
files = "/var/lib/postgresql/*/log/*.log";
|
||||||
|
compress = true;
|
||||||
|
compresscmd = "${pkgs.xz}/bin/xz";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
greg.backup.jobs.greg-postgresql-backup = {
|
||||||
|
src = config.services.postgresqlBackup.location;
|
||||||
|
dest = "database-${config.networking.hostName}";
|
||||||
|
user = "postgres";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -4,6 +4,8 @@
|
|||||||
imports = [
|
imports = [
|
||||||
../baseline.nix
|
../baseline.nix
|
||||||
./backup.nix
|
./backup.nix
|
||||||
|
./container.nix
|
||||||
|
./db.nix
|
||||||
./gnome.nix
|
./gnome.nix
|
||||||
./home.nix
|
./home.nix
|
||||||
./kde.nix
|
./kde.nix
|
||||||
@@ -12,6 +14,7 @@
|
|||||||
./proxy.nix
|
./proxy.nix
|
||||||
./router.nix
|
./router.nix
|
||||||
./rpi4.nix
|
./rpi4.nix
|
||||||
|
./sway.nix
|
||||||
./tailscale.nix
|
./tailscale.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -22,7 +25,7 @@
|
|||||||
lshw
|
lshw
|
||||||
];
|
];
|
||||||
|
|
||||||
system.stateVersion = "22.05";
|
system.stateVersion = "24.05";
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
gc.dates = "weekly";
|
gc.dates = "weekly";
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ in with lib; {
|
|||||||
enable = true;
|
enable = true;
|
||||||
displayManager.gdm.enable = true;
|
displayManager.gdm.enable = true;
|
||||||
desktopManager.gnome.enable = true;
|
desktopManager.gnome.enable = true;
|
||||||
layout = "us";
|
xkb.layout = "us";
|
||||||
# Trackpad support
|
# Trackpad support
|
||||||
libinput.enable = true;
|
libinput.enable = true;
|
||||||
};
|
};
|
||||||
@@ -38,7 +38,6 @@ in with lib; {
|
|||||||
};
|
};
|
||||||
|
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
programs.sway.enable = true; # Gives us Wayland
|
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wlr.enable = true; # Enables screen sharing in Wayland
|
wlr.enable = true; # Enables screen sharing in Wayland
|
||||||
|
|||||||
@@ -13,9 +13,12 @@ in with lib; {
|
|||||||
services = {
|
services = {
|
||||||
xserver = {
|
xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
displayManager.sddm.enable = true;
|
desktopManager.plasma6.enable = true;
|
||||||
desktopManager.plasma5.enable = true;
|
displayManager = {
|
||||||
layout = "us";
|
defaultSession = "plasma";
|
||||||
|
sddm.enable = true;
|
||||||
|
};
|
||||||
|
xkb.layout = "us";
|
||||||
# Trackpad support
|
# Trackpad support
|
||||||
libinput.enable = true;
|
libinput.enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.greg.sway;
|
||||||
|
|
||||||
|
in with lib; {
|
||||||
|
options = {
|
||||||
|
greg.sway.enable = mkEnableOption "Enable my default Gnome3 setup";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services = {
|
||||||
|
accounts-daemon.enable = true;
|
||||||
|
|
||||||
|
pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
audio.enable = true;
|
||||||
|
jack.enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
wireplumber.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
xserver = {
|
||||||
|
enable = true;
|
||||||
|
displayManager.gdm = {
|
||||||
|
enable = true;
|
||||||
|
autoSuspend = false;
|
||||||
|
banner = "Welcome to Greg's JUDE machine. Do I know you?";
|
||||||
|
wayland = true;
|
||||||
|
};
|
||||||
|
xkb.layout = "us";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.sway = {
|
||||||
|
enable = true; # Will be enabled through home-manager
|
||||||
|
wrapperFeatures.gtk = true;
|
||||||
|
};
|
||||||
|
security.pam.services.swaylock = {};
|
||||||
|
};
|
||||||
|
}
|
||||||
+18
-23
@@ -1,24 +1,19 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 oyEmTw pgy+JU0OlmCRGL1YxpPdvo7yOYM/ds3PcQQraRfuklM
|
-> ssh-ed25519 mOmPfg gumFVDhQh1AGitpxIits9R6Vjm91ZizKG+FhDZjYRFM
|
||||||
V6i7wXHal63cLthtmpr2yY2Ayf/3Dd7yEGeJzEsuGfI
|
wRzhgUUJp5RAA2teqQeowvZcTkycHPk22X006MPTfxE
|
||||||
-> ssh-ed25519 mOmPfg 1ukIe3ZVLgsr2z6GvZOevYeIh2EyukgpSevAN4fj708
|
-> ssh-ed25519 YJiRbw SQevbHb7VyGn6MMJs3IBhz0Rymy8b7OuP4Fj/rEYjSA
|
||||||
+SnY9KsZe5yrEfJsXPMZDll6At7y7Z62Alz2hyfs8YQ
|
PeB0i8IId0RNILuW1g2RC08CVaACm+zCjQJkDR56qGs
|
||||||
-> ssh-ed25519 YJiRbw I+gmOoz+dF4ZDjAu/EJv3VfM0DBYyFGL4+yqhDfqv3c
|
-> ssh-ed25519 aY2AXA g997hboApB18f+r6j8FBCAgCg3nEa9vBdrFWQ83J6jc
|
||||||
vHvuTwex+n5W9dmzx8sluCcSefeInvECLZBMrv9EqOc
|
ECAbekA5M5oM8J58X+ouEmLcKnfOqYF1a0/UX0YCNNM
|
||||||
-> ssh-ed25519 aY2AXA JViGiOEhvqHVu9SgW5AT2OAO73WnA3J1HKO9rfCrdWY
|
-> ssh-ed25519 Nl/5yA unK0RFaggliR++d/9pyKsL6f2amxHdo2Gn65pKHgKCs
|
||||||
Rt6n/EWGFrxpigG66uzmNSbxmu3DCFTIQ24XMo3dPdw
|
w/UX6dqejaqgrdVOTaRVMOyS4rwaNuc/5TbHed4TrhQ
|
||||||
-> ssh-ed25519 Nl/5yA OnTtkQIJBeQGEwTZmBgeYtWlArmqcTaItWTiuPVbPwk
|
-> ssh-ed25519 GdLgCQ Fe27fkX2BeHTGct/Pm2nLG10hl5c4tE4PA9Cwggj/g0
|
||||||
rmCmPzC4pCaMOfLCQcnGtkwrF4D+BfuUG4zswAJ+EUA
|
+XK+8POGfNZQEQmRYC5lLIWRO5thPxTicM0onkpgGPQ
|
||||||
-> ssh-ed25519 GdLgCQ qlJysE+dXsJN108Lgz+jzVUMV9BYDcp4knFMOWtEoVk
|
-> ssh-ed25519 tOH/HQ oIFm+9sttK0BInsCS+xS34DAdbDYbIBpsNmSVT+PUkk
|
||||||
wJTyxTtVu0p1PEEkd/tF80ttPXKO6XB+AaVYEwZ+5oo
|
u/4noQOR9wnR5dO1tqpRk7+wCVpwcRnwclg26TOzF4M
|
||||||
-> ssh-ed25519 tOH/HQ s6IMoMfgLNDsfisM+MZ2BFdqmQ/YqSMCquw9AgruQVc
|
-> ssh-ed25519 FpzvfQ rPbTDyT5eg+n5qlmHvy2Zu9A/JLKTrBIIk0jwdeUdUI
|
||||||
8t7+P6YiBsPtP33eUmDTrfO67LtsfziORgn0twGKT78
|
F8D5VJIplhXcqfTzlUhk2GlwRkBmPIiOee980H0VJLM
|
||||||
-> ssh-ed25519 FpzvfQ 6gwHsJcGdK0EttaAmg6cTOSGWBVjApo8xsC1y2/piB8
|
-> ssh-ed25519 kdPvzQ ky3n+PXUHZOXiXNa4+MBaLmSMW6H2z/NBX+H9QHVKhE
|
||||||
Vv6mfKYOQS3o8qgFC5bjfAbJpb7yTsxyvu3yQS6pQQI
|
wR2DfcF5CgOXBsbQxHKVcZLU+uo1Vt3berKpWoMo/FA
|
||||||
-> ssh-ed25519 kdPvzQ rzSykoG6mHkxnlwWyd0Y7mWmKviRvO0/5iqzRHTgwHY
|
--- Zrbuy61RBb9S64+YAaGcXNn+i+v/qEkJjXRrDBBKEKY
|
||||||
6claIsJUVTKts3lZU+jpB00QV3Lv6CHpnC5EbexJW6Y
|
• æeÖÁùU|ñ:í¶rCv*~ÿÞ8¾[)ˆ²V†„ÛGÎÚ@Kæ‡Õ<Cå±òÿ `asC˜ ƒ’:lÉÔ·«º£RÑTe
|
||||||
-> A2g(UHN--grease =T5M"
|
|
||||||
5VTJOL65wKYIQQzuK0hXGTzAmJL3wryRY/USjZbIHuHDMhZMbgLsYIpxIvq248JQ
|
|
||||||
Cd4GXw6aH5TUC4kBLHlKlRi+FTA9C543U06SgQA
|
|
||||||
--- O7vNniD/JmbDJFUR+rut9ZL+OhkvIqlBQt7Zc2nqQUo
|
|
||||||
ŸZùU“æcY2EOÙéÑ 5×nܯ–h_#W�"‰èz�öÑžâøÕ�ØÙšË::à€õí…ƒUøÄe®Üj)ÄR!ðâI·´
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+18
-22
@@ -1,23 +1,19 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 oyEmTw 6DS+bTAy4b62Nxw0uXHHEMn3OVY9wUzX+wUCZP5Hjig
|
-> ssh-ed25519 mOmPfg caaT+VREuqBSbCt7Nv+gAyZgcr6kITpslJjqUn4AoFQ
|
||||||
Nt+zLf6IsLY7h5/alXiUffBxgyEL9vV7EEIrlHO3W04
|
iOFZnm7shGu9q362G0KSUeJqfT3uunJ3VE1NQxihx5w
|
||||||
-> ssh-ed25519 mOmPfg 0Gi5xr72h9ya1J5BZGy5ahxCkLx35ImPpZoIlP3sZwo
|
-> ssh-ed25519 YJiRbw Jnr26oIvPnKlU6qoWgG7o79CKzYeQ92vRkBeUFiD7j8
|
||||||
iE40yQ2/J8UksZgkl/l3+8bwwg27CZOz/H9sWdKOHok
|
JVG00d1wPYTB0SEhv/DR25pkJcK5KHbhtt0JtJ2fDh4
|
||||||
-> ssh-ed25519 YJiRbw AzMXidZGMtBUb7TRrC6lTEa4egnNqbi5J2WRUzqYBiY
|
-> ssh-ed25519 aY2AXA UzWTN6JGfaw96atZLsSnJAxyKq4cYyxeTKnBbeNTgD8
|
||||||
pAIRAFH+8KbJGPjj2fApMMACjnYdxA58yrB4YZEJnYM
|
WLR1F9yTZxZF67DXzWLqqulnWyVpSq5FGWv1kX4IC3I
|
||||||
-> ssh-ed25519 aY2AXA VchzlGCRVKD3R30THPckqVQnAb9qAGrQkdPUlbAhn10
|
-> ssh-ed25519 Nl/5yA l/JQbZH6JY0UNPk5YtLl6zwoIe627u68tSjxwt/N6Cg
|
||||||
siGMMSA14PDHtJwv1EeEpaztkFMwiyAmnlJsewy6qQg
|
BzpKvweac6lKB/YgGF0tUxEFzmJZSWqiD4XQ8ApPb2s
|
||||||
-> ssh-ed25519 Nl/5yA adKC4ZbwvXWO+zI+cOS2KF/VpuzgucfqkVerpGZ5vCA
|
-> ssh-ed25519 GdLgCQ hlYrhTQUwaTx5YAFIf++QuqJL8dJjJJ4q2FN1glVBD4
|
||||||
JNZadXOyBUu2pBLq5enLGEts5+uSNfPfuzHh37rFSc4
|
yFG60mKri3M7s1tUvVOv08XPeDIpKChiOmOCWCXxflo
|
||||||
-> ssh-ed25519 GdLgCQ WSOxf9kUvalmcWf24l2XYApV+91BPCdRHNxYznnQtgE
|
-> ssh-ed25519 tOH/HQ QIGaHNqrVi81W549YNnYN5mfrM1Ci6hieVDYqU6cjzo
|
||||||
Yh8GHx0PvcomYPEmY950kloxo5AuURIr8xcRn2roLVk
|
BdKS4IaE5lGHQv3I+m6K+HDM157YF2COE5ZC6d7XBm4
|
||||||
-> ssh-ed25519 tOH/HQ pVWHOg02OAzlsPKYAq68kx4cFhh1Mlq6YgvKe+2kcjg
|
-> ssh-ed25519 FpzvfQ X9ZUHxbN1JN2WTm9nip791WnP2yoLyFBKedvEeI1ihE
|
||||||
QxkzNE2Q9TL45dBAIHwtDrSsj7qohmQ7Bn85TXjUu4o
|
IdWZjOBQNFnv2FRlE/OIu15+wk8Pc/ac6d8NWEzFTkU
|
||||||
-> ssh-ed25519 FpzvfQ OtdjKF5JtWZabX8nRET3LxUb/KtwoP/0sP3Cc7K4ljw
|
-> ssh-ed25519 kdPvzQ 9h1fd/Z4WWs3LUfZToK2VD97a04iXPWEX38mN7SQJTs
|
||||||
E+yGcgPEWWSh6wuxVRr2Bv1+je6v63x9b85v/j4H8gA
|
eioXC6/f9NVuUyJAUlbU18ARfQ9fSCetyl7sd8+2gH8
|
||||||
-> ssh-ed25519 kdPvzQ NZ6HUl7kvr+f2inPHRwWjQGByXyIp/FzIhIK8bKxfwg
|
--- mQK+grHzDNowE61Xip34q+sg7Y9dkX9b1vFP0N+nKtw
|
||||||
P+MImWM0wzsSCk4kJe5Mdg9NhOCmoJIAwzsvifrPdqo
|
S¯–xg´å¥)b8"<›p;v°ý¼Ú[${ÜŸ–ÓüÏ„öÂelRvÀÅ)Â¥a�ô±Á½w‘\ÔŽ�Y”3e¸/�fÖ˜PaE“ácúr/Ù°6ùï²I
|
||||||
-> l8`-grease bcA %TIY [d]~
|
|
||||||
R+MH2T2z+etA
|
|
||||||
--- kjTynEqr/Xufkw0158ZP3mxuBzWzxVQ39QJ6rV965c0
|
|
||||||
²Üß}5>—hJøÏºR›ËNœ‘žº.t\:+»’IN^²‚Žõíôm@Ie^I¨œK¡³X–s8Zœº¢”’.!ÚGʸ¨(¼x„ÔõÖµ9£[p“:
|
|
||||||
@@ -1,23 +1,19 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 oyEmTw 3op+GhV8OpN2fD3YxNIxBlL4vNvBX+ij93zH0r5ZIy4
|
-> ssh-ed25519 mOmPfg o+i2oELghwEnsYN0//DougkC/3VAP6lVl0VYH7cELyQ
|
||||||
i2UDs/g/2w+tCgCnWtMK7fPSSGEtcCimQlY31fYWHYE
|
yL2FJ/MkSuJrB0J4iK1EVdG21RWc3M4NmVU8TncI7dw
|
||||||
-> ssh-ed25519 mOmPfg wjMwi+bB1CC83f5eCcbmNE/w+aF72BTTxEJkZu3oVy8
|
-> ssh-ed25519 YJiRbw XojJl236Ed5WUnda48abwixlYyuaoQx9QzYiQNl8o30
|
||||||
5qcAf6zWzKgN9fD4qjsb5GnjfZsjCbMdcEDD3TI4gtA
|
3PA6fnnWVHqTAmQtrYEE4KBcvGGjaPl6MwKIqoeNHTk
|
||||||
-> ssh-ed25519 YJiRbw 3OYExR/7TTlzvDK/xXh5fQ+f946hVxVRviSDv2DJjj4
|
-> ssh-ed25519 aY2AXA lwiy/CDfOwsutQrEvE9+tbMiYMSmivICPE+P3CcDsic
|
||||||
1SbIht8SnDdGw404tFdmEAHydGg18Phb0a3WpeAxqK0
|
wqZ+kQ659tMEKZXuNUuISjeWuFV4lTX9QNgUTtg28Hg
|
||||||
-> ssh-ed25519 aY2AXA IxtJr8/Bp4gaITNzxiXuDPkFUF0/skE1T6Da80zZdXo
|
-> ssh-ed25519 Nl/5yA uzDbFGonniZv3yYPo8wVHhPM8xhCB72osiFF7qlkwQY
|
||||||
D63zeOhtKPgtPLbNBnVzK4P0ZhytJ6whq7lTxTN+zwA
|
lsbg26Hru9WKvjN9DedhBdXzHczTv3FgBH9GqfvzfUo
|
||||||
-> ssh-ed25519 Nl/5yA isCCfCSBrU8yGQ/oNHGRB/V5T/BnPV+6FZnhPq0D82w
|
-> ssh-ed25519 GdLgCQ IMBKcmHmJQSjemBjpRd8codzvji7CWWVymf94RnMAEo
|
||||||
+6M0cX0MbCOKA3QZocEiYZfEFgcgDrVpYscPx6KTndw
|
YfwvLEz+hESvvevoYp9YW5GL2mg6ss1Sn83/nLHRhCE
|
||||||
-> ssh-ed25519 GdLgCQ a6zGDEVPndccmXoYOK/hGQEwgq8tvbkIThopz/4cQwM
|
-> ssh-ed25519 tOH/HQ K5bPrUnHPIjkCyZUnK36zrtSSBBRYaHKWIYDyW07v0M
|
||||||
6qyK4b/6xbBXaqxQkKWufVVgptDF7TZcrRcAjowHkSk
|
AHSM8WuLySrHAhy7h2Vr1XU6r7O6xRdYPS8djxBys2s
|
||||||
-> ssh-ed25519 tOH/HQ maiNdWPZ+ZeIFC9ZJPgMNb0vb0sgLMsfiDyj8pThoG4
|
-> ssh-ed25519 FpzvfQ WLZ2OiarCBQolnpS7dTkQhiZY9/P8CpZ1fHYm2nwAR4
|
||||||
OGUR9ZCFVgKxiqsDf4EZk59QwkMYFeJp2mPqd3PEOTk
|
ettuJbEGuxXUqT9Kb7J89aw6TdtUckeLXItfANrg+T0
|
||||||
-> ssh-ed25519 FpzvfQ C0UnpWeSAtrm3DJAJuEFSayJr/3m+7SiJvejUrFYklo
|
-> ssh-ed25519 kdPvzQ G/pyPAn05PtGcAi8WCf/mbBAX1eOlABC3Wy4Md/X9yw
|
||||||
gBxzb/JmRvyutYLYOsAf1Hs4Py+jsv4OvEE/CWL3kDU
|
n8pWfPKC4DSPZiEJZ9ysZupIFyF5RMM+Dx5savwPcO8
|
||||||
-> ssh-ed25519 kdPvzQ /4iNfORP7vr6STdayTzULEutq6A34as9D/SQyrOmimQ
|
--- H/MbLtj0T3VfZhz+7LTPkp3SRuCDCR94KSW+8RThjtg
|
||||||
XKB0sv1RvSlFU8j3IHHiFaPMnUTNBeLSxWPgfne822s
|
yÝ^Y ¼@«o1ÏçùãªXN7B„Ô�×d³␍ô©Š™]àüµÉvóÃ{R b¯|&Ù«@*_¤·æNäì¤åC›Ì‰Èì<Ò‹^~¹‰)LÆžœ~n¡ôâ n=ð` åDQ|å2œc}6™Ú6èíûC„˜¿<kmOÝ‹�<iÚ8ïFRCBÔ2V1«„␍°™ª´ÔÐs*Aô
|
||||||
-> n+-grease 6H
|
|
||||||
hA
|
|
||||||
--- ZmPFZncGjg6Ze5VdAq7ZxhMwCoL5XJRNhN8iZBse5pc
|
|
||||||
ÿBt;¹,Ö¤2¥"+"+5ßé´0Ðf␍#qÈ#³t“‰ó¡0u¤c/¼¦XS¤ÙÒêšypC]ØëË€õÍÖ"øä‹:ÇŸlaž'ÕaZv¬½]Ù©A’µ+—ÇÕ.õ²¿¨I;J5ðÝ“^ö,î’2´c�œf«ï:-–ÁͰwü�µÓÞ<œVzth~}×q�Ì%¢?¨F
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+18
-23
@@ -1,24 +1,19 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 oyEmTw 1gVcNXHntuYOZt7uS7bha7oUfCfIhRzzOJIxhsDneUg
|
-> ssh-ed25519 mOmPfg 1S+O/4h+KtXv/KT7jumzZjbVRjI5fWWP9s2qpYWNNiM
|
||||||
2E+w6F+4Ivj6sVgbwDuHVrtp8xd/Vb6taHflp2ua/LQ
|
rI4PYkwXE2nLWAxxjREBswKb9N/ZmU26D91XtmcL1gQ
|
||||||
-> ssh-ed25519 mOmPfg RqI0kJeCEI/bbnfkFbH+49b2iNl7XIk6Xmbeoc27f1w
|
-> ssh-ed25519 YJiRbw aXG0M0Nfa0zt01LpXqynqrxbbTT8AlyZYrNKVOPHhXA
|
||||||
amQ1gg3tbuKE4RRgJ4W1nTnt2cZJvG270ILFnxH0n10
|
mWE7ed0KNPcE7ZR1r1KdBAxHM29F46GxwFw7w0R9awA
|
||||||
-> ssh-ed25519 YJiRbw VdyG0wKNQ40NhrPHGKxjioT8G7x6os3txWNyl4fUGlc
|
-> ssh-ed25519 aY2AXA iC9GKmK60/1kHYZyN3DoILqsvPZUDWY5F31kTefOc34
|
||||||
KViYzzpahou/pz7CchKgD6T9v/jHrECgyGwXaMpJ83g
|
gdkASIQcUvogORDIhHdT/wo+0jP53VIqeYCRzPmAU8o
|
||||||
-> ssh-ed25519 aY2AXA IKzNs61QdKaTUDfCaerk//hj7aJuspjPHdjLUIZnkjQ
|
-> ssh-ed25519 Nl/5yA gG0I+WlVA1jfcQ+WlrgzlfpsvxzOOLr280Fx9s+sNRw
|
||||||
xRRWvEZNYiFU227kqNMH9PzuK1Q1czzTb72ZQ6WeUUE
|
9Vlh1tJ2ucjXEzFKjamj7/tDGsBrg5+VYdYHhX8GPio
|
||||||
-> ssh-ed25519 Nl/5yA CK4Ny0Lqv8uw3wKvBZX7OFAq9UG83IAFO8SV54kpdWA
|
-> ssh-ed25519 GdLgCQ Pf9rjnx2w6QZJ+sA1pOD090ODdVBLjDbWD573CZTj3U
|
||||||
PJClgWC2EhB/zr0u42QWtXlskQv4DeeDkmUku/Mqkco
|
WFPlHf7MVKLAC4zyggvr2yqbMYq5LBsO1nW2/eT/2fA
|
||||||
-> ssh-ed25519 GdLgCQ Ldy01TmkbvmuG8QDo39zaZK1JMBy8H2gZ9gd+xvv4xY
|
-> ssh-ed25519 tOH/HQ j61wyz9nJqfXtw9q+XhqJI7XLGjwO1ecWDXYvpzxlzM
|
||||||
5ewsObFjmZCh7VIoPBLsrRz9pXQyvCBKOsyEW1TJDIM
|
5y/197ptsDvrSFlaRtb9KbEDp9FKN3y1ggNTo0LZGss
|
||||||
-> ssh-ed25519 tOH/HQ Iz9rOSoY2+SjOmCgYJkvkqfwgg+trZGcrCl5TemzZz8
|
-> ssh-ed25519 FpzvfQ QA3+JlcexQQCzy60UqJ12n5WrgXj6/raiYvezsftDUQ
|
||||||
L+yoX/1/odfI4zcjcL9ccW9QG0TxoQF1peenqMvS5ng
|
4hzapxkfBUgtSy8jv8xaH8qO6c5/U8hSfgsOWTCXtqY
|
||||||
-> ssh-ed25519 FpzvfQ 1hz0IwEtpIgxbVKK2q1Gb2HMNykWxOrAcjAGK6Xwamw
|
-> ssh-ed25519 kdPvzQ lTiMAWCoQ7wSNSWTzJ7wgt/SPXcq7rTHli3cZKEH3zI
|
||||||
tIQt2yKSXABnJAKuXXVkJe4C/XYa7afGE/WsD2nZ7kE
|
IqnTB97pG06TE/H7EelI7lRejDDmeeNAmlcA3iXcmsw
|
||||||
-> ssh-ed25519 kdPvzQ goTQzffzeBmlCSiVmehfE1QNcWau3Mp+6A2ulbhRt0o
|
--- dMfqSq2yC7lsn66dsfNVyhcIlYeKMvsc+asI5Olvz7k
|
||||||
Q675UHTn6RiDOMd0Zaioo25qBAuHFgkfwFQAICLCBYs
|
>諧5陟サ(IO贖エュ�Sv�ttリ妣辷チ�。ヤ�]tク5 mgンM({]スユ柱翼華ハK瀲d蘂"サア、ア湧,ゥハミBa'ャス4S5�
|
||||||
-> z-grease '%#V0Cvt
|
|
||||||
jEaoqrlfOBAv7IV/lHaHKhgegTyoSeThGpMyCDyG7V5rdyuthXFqOyAPJr1gTWit
|
|
||||||
6RIFDoTBamp9+s1H7Ie0BVRN9PM+qyxy0ezzSXiib9ddW2A0TsKHR4M
|
|
||||||
--- kfIy6IcNlk5+RUWpSUbzhNEqP6RmPuuVsr78T5n/36o
|
|
||||||
Lÿ\o8Ck=c[âǧ ‡§�Sd&¿h°Â6/ðûÁëfÔzÐ@Bžœª5®3� Ý¡RTÛ#”¥~ ík�Oq—s‡·}#°ÛÀx¶1T?fE޳ìžö
|
|
||||||
Binary file not shown.
@@ -1,24 +1,19 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 oyEmTw Ee6sHuaax6dl1ymOessJyXNOn6Yqdx+TmvXtWVCDHUU
|
-> ssh-ed25519 mOmPfg 2G5NU0YqTsV1tEd6OEPQq5Mz47zxOhyl+N40AQFWGUg
|
||||||
/6mfY5/olSO0tlPzUBCzkcmBFNnUucCakSAvEppc7Kg
|
9HICW3CX8Zu72b70AJ0DLU0UZdARGzjgiuGtO7tuMyE
|
||||||
-> ssh-ed25519 mOmPfg bEIwmTQPh+ckpBvU+zuQJFLguXLOV6H8XAcA6sla5Uk
|
-> ssh-ed25519 YJiRbw Nhj7z919U4Zua3KqD69z43Gl8D/UlcbO/Ka/prqC3nE
|
||||||
a00/OUNo3O239ZL0Xh6Do7iw2wP4f00Ct5bHX2E1t2M
|
BYGMIuheJ/M/jAuENAkhpT17QeFMNwvh62atAMVTzmQ
|
||||||
-> ssh-ed25519 YJiRbw /UBwRGBmkTJ7lGGngi9Yq9dscC/1ZA1y1XAIf0zYSmU
|
-> ssh-ed25519 aY2AXA 1K8CdLdKOkqtbLzbQ59K4Ian4oI0aBLWA2gt2b65ZQ8
|
||||||
u+Q4aX+oO0BQ90iStA7mCww+4MSUPePuxuidtwFNusg
|
LaZfOk9friVrPyFgDnuKPwVV07Q39mhseK2MIY3Q21Q
|
||||||
-> ssh-ed25519 aY2AXA MdCq40DKOrF5qhwDy3aOjiFczim6V5mc6vetpy+LSAY
|
-> ssh-ed25519 Nl/5yA ZmaGiys35vAP0S9RXwnP2Rs6LDsGrxXkVkER4lA7jgI
|
||||||
yoahpHv1FsynU8QUTkt6DJefcyuCz94/4AZLM2IZRsE
|
WbV3Yem3gcnH/6kP4TE/uJKj4046xzbKYNGXGB7Lw+E
|
||||||
-> ssh-ed25519 Nl/5yA qvk0cLBlAk/h+PRndzX2EQUrgb7NV9/x/+m5a/ZWtQQ
|
-> ssh-ed25519 GdLgCQ lT07BOROuNbkmgyFGStm4mWQqPVYZHww+kAXQJEAwwg
|
||||||
72emoDa8zBCCSJgT2eEDxhydMSuEdbywCarcmjlGz7U
|
enfauL3YtQIZ8nQEUi1jkqr+kzk4mA1tWdW+PfTl5OQ
|
||||||
-> ssh-ed25519 GdLgCQ IBx6NonXSJIO2gGKfzfJbxW0KaqFstwwC3D6fVpg6jY
|
-> ssh-ed25519 tOH/HQ 9qKXwlbH67xrNWhr5WuxgJ3i+M9jyT50sWc2fdSEmy8
|
||||||
rvr21zirUS+R9zCyPV5O/cqzVe9NVevlfrBRRAJNAos
|
xOVZUX/Z3PZK9uVKyaK++g2oc2MMaN0uVReAPh0naEs
|
||||||
-> ssh-ed25519 tOH/HQ eyUGDyQGogdQ7Wyj10HFS/GBZsur86ssYeX1yEV4NS0
|
-> ssh-ed25519 FpzvfQ /Kx8WrMw4jG+ufzDBKgQgDQZick+WxGOTBlaK2jOdAw
|
||||||
iYkMk9w5cpaKgvXomTYXPSXKJXvsIYNbqIaIM1aRQZc
|
Fsa+SzNcgnxQR9hZXR7l+gAQxY/c1wZH9Ftz8aF392k
|
||||||
-> ssh-ed25519 FpzvfQ 18RQYBBhudWXP6KTjTkuyclfNAIoVMwlAsJzMa/lFTU
|
-> ssh-ed25519 kdPvzQ PWfMYf9DSnxhYXnEf4kEQ9Z4zZJmzwC0hmsz2c4fWFc
|
||||||
Cs+yqVQ/dnhRj7XWnBo+sq0Jzy8EAHxrxQ/xlThY/58
|
FMq/kfEv8AXxvFUKQ2WktsW8Kc4ehHMr407+xjwr/rU
|
||||||
-> ssh-ed25519 kdPvzQ fRInO3CmYQlEoaXKMekM8uGr+PTR3fTRSVQH16WDhQs
|
--- hMLIVir6WZ+pyg6DfbwOrFAu6go5X/r5ba5T8GNJcI8
|
||||||
y7oVEp7MowBn3SeGzvtWS9dWKRXqwgzs7SFKKYzYs1c
|
dfã->ÖšþyG_ô�~NÃ˽�K—€Û··<Æ‚¥hIJ¦öÞDk˜°ÅMµ²sRÍöJAëýÜ¢NËýÃ+†ÀSL.ኸã�
|
||||||
-> VqCj-grease cM
|
|
||||||
l13Rk35e1jII+LYs8kLlxPFqxG+6RpGfyD6y7ECvawQ3LFeVGS5tK8mw0lmA1837
|
|
||||||
gDmHFduATwN+Vh+1ma1xmTzZW/8q01ChxRtw61b+s2WvdskJRnqURiUj
|
|
||||||
--- ydn3UpzhLestaGGFt4qPWfzAAsG48Dvv4XiNnscOlX8
|
|
||||||
O™l—ÓEšÇ+Áê'¢çîG‚çyð¾UsE·7j+V|6Óͩ˞¨üëëeó¯èŒÚíb{Ôç�Þ)y©²üuEùœKÌÓâ�ŠúnT™mz
|
|
||||||
+19
-22
@@ -1,23 +1,20 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 oyEmTw hbxTniFYHleC74gD9ipfbIAh5d4pPj2DkDkW7oFjxyU
|
-> ssh-ed25519 mOmPfg yOULBTP94sJiyma4Yzp5SCIbEKdFkJEPi962XZA7CFA
|
||||||
lYz2RHrr2xBPmNaLYbu8w/mjLuuvf/Rca+znPNhykmA
|
QsdyfwKgX95rxlZhYmKe8UxgHPpLtX3C1nBF+649Wfo
|
||||||
-> ssh-ed25519 mOmPfg Q4hNJGkGiO5F6FE5vMLBjHXgH3MMYeROL3OrVI8iHEY
|
-> ssh-ed25519 YJiRbw XZ2AJPQz+v1D4DBzUMOIXr07lrn6hQsWYQW+8AzwBko
|
||||||
kZFI/ywUTVb6mczZTvuTroA+UKESSxfAE5nN39nd+Mc
|
VLTi/f9VnRPI48DBny3GLhD9XQsbAYCbaf2ZB2s19EM
|
||||||
-> ssh-ed25519 YJiRbw U7F4H/y2fki5BjRcoj6WSM4/moVc4LK6IL32/svL0TA
|
-> ssh-ed25519 aY2AXA JBoYNE5DIAxi2NED/jo3raVTy7WBvRS4nqAOBF8UJgM
|
||||||
7Z2wp62ngdPkKQc7XY9zmKLoNfc4Oi7MJTAuAnEIjus
|
88VW3KGO6WoZEwqen6pDX8gBlOe2z8Jxo6Je1mKpB8w
|
||||||
-> ssh-ed25519 aY2AXA z+KbzHrWkOz0EEXSb8P1YXkySBRAS9WKhX4Mk/IyLxg
|
-> ssh-ed25519 Nl/5yA fsU86ATOCufWpDqEQJ70rEe9ztsRCyfQDC9vg4/hFmI
|
||||||
8gxsvjm2ekYtPiFer20dyxkuUjOpvlvg5EgwEZzkv1c
|
eYy38nXMFe0oBkBUjsiHqJxujkXIB2VH1FQRviTfLuM
|
||||||
-> ssh-ed25519 Nl/5yA /Gm9CD19quwWVBx9gCQsvy6tFb48xaZKFS3lYyAh6SQ
|
-> ssh-ed25519 GdLgCQ BLCsfZiE9uoOyTXYCLrrTxM5uyPpC/oPxjn4ciiauWE
|
||||||
HtiW2rOYkBTVIuI+Y2/z1FEQJwxSJf4K7Q7eK4LNhUM
|
3VzsAVb8M47sUq8m/CeCx3CYPyDzo7mfD3GuwMRU9BY
|
||||||
-> ssh-ed25519 GdLgCQ jK2LK+MAIDxKU94XnHOg9v8seO9VKE42jr51zRY4PHQ
|
-> ssh-ed25519 tOH/HQ lTW1co7HylJEEY6eNl+iniuAe1N4/kCYlPkGuniNnCA
|
||||||
IaqFbzdMu80cKeByc0Y4dVRPci5CVOtZ4F0f9P9G3SA
|
WW5Nz1F+mRTNWoaSMqTNlGbZOzLLfh3PrXX6tahuS08
|
||||||
-> ssh-ed25519 tOH/HQ SG5pz5P2jlg0A86syvjNv6MK89aMPro8P8Su+lwaThI
|
-> ssh-ed25519 FpzvfQ tYSQ6Ipm0Lk5c4/A9H3LJ+ZaHvKMTuL84RbfKaGI/BU
|
||||||
5SSF5u51C2TUJym8GdK56dgvNsVLmcSUrDCLOr88aTM
|
fJGJRDlceoPy+FDeGlCIvQj/t4HScGTEYAQ31zPIvy8
|
||||||
-> ssh-ed25519 FpzvfQ jqFIr4c8IRgA1wPkzdutJZJ2UTeKJUy/qUKCp5C9E1g
|
-> ssh-ed25519 kdPvzQ ZfEHG6OphdhbAtDPZ7bY0mfsTheaCkCrGdFsXdw5izM
|
||||||
qrcnB4L3Jd/euaQK6RLjsvxqB5rEupTqeQjxzd38JyY
|
KucJj2PM4AQSAN8z5dtMQ3lNxQrzoX/ru7cfjZxS+mg
|
||||||
-> ssh-ed25519 kdPvzQ B/VS2CZLrj1UMSwm0p2k4JQra7jdpuqA2k8aHKFqQmo
|
--- UZ6cw1upnDZDSEI2N0Afj09MhFajhKqUhn9DeZxXspg
|
||||||
sB+UWXYGCPRcirH9nIEw88D/7KvCVPZUgBevxX3pv1c
|
Îù„œSg0@…ý
|
||||||
-> -A-grease
|
ÛŸm«¸ãÌéUŽŽØhŒÔtµ‚/f³(]¥7™#§ü÷KäýHÞ-g¶âxà{¿SqÌû<ËËY’� ¡®:0õ©·7ù2µCrÊ¿ö]¤I;müoÑTs
|
||||||
G0JeaURRjTw+XEwEzv3M0HB6xNzO5+inlBR2eWGltrN0uKP4P8GbbfrI
|
|
||||||
--- C3BZePDnl+fl+JQUqk/XC3gIbkcfdAYjfm9oF6EJ1as
|
|
||||||
NGÒ>Ð ?€JÃ�e�òTÝÍu:ŒÆ7<q9ÊÏTG"H°Výh½ö6jò¤ä0¥`0ñдt©€óhAÜ1äEœuª4#”{: ¦® ßq³äÌÉpD q©�þ›€
|
|
||||||
+18
-22
@@ -1,23 +1,19 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 oyEmTw LZKtu9SMMJu2sampgNCt8ED2O3ahJXJO7L1R8jF7ERc
|
-> ssh-ed25519 mOmPfg Fti3/hZ2LNZTtHDt44QQKVG8KtI1ew6UcRnGdCGpZTg
|
||||||
sLUcvIGBnPvznsvY+2M6UYj9QXAYguwNYTXBs9DpHMw
|
wMOhWTHd2BfzIetxNrU0KdrSn6b8JKBtxGxoykJIolA
|
||||||
-> ssh-ed25519 mOmPfg RG9XN6Oewa0IlDojj7l95PJLZ+2ZTJr27aqxPHWNQxM
|
-> ssh-ed25519 YJiRbw PZ6i/cik5zD2Q304YDTjQJ1v37tTng8TgPbU40Gw5j4
|
||||||
/YkGe1LEfWBNqN3oHfr2+wlimSeIYTz4ZyNqKGr7WZ0
|
NAU+9KnxeTn4UXiZtXQYCZfW104crGpCS0Nd08aUu48
|
||||||
-> ssh-ed25519 YJiRbw mNibzxIqGjh4VdUj81uY/aNAOLha3zK7WcuLJJJlfiI
|
-> ssh-ed25519 aY2AXA X9YU1qT6v3jh3CUiHXCA/TWCNRN/mx+BWbpK4z7pGAk
|
||||||
f/tYgb2n3NF382ZaMCDEnF2fZDS4Cj7EeHlSWX5AZOI
|
N0pRGVfX37pzi+3GX4okj1b5QA8Y+Y3bErUJekTBYYc
|
||||||
-> ssh-ed25519 aY2AXA Jve/PI5ujBMbzFoPtbLzYNRkSO2ko5x4cA4eHlBZQXw
|
-> ssh-ed25519 Nl/5yA fSQ1Ip11xRvPjvjFr6O9SGFi/8Hd5hYZ84Eao0v9YmM
|
||||||
qp2a8FH7iFkvXdiZIkzkaH0o4F8pMIkamikozkAgQ+M
|
NpWf40Pyjl6NaEhG7wtalnF8eSKzd+XFMwB8IYpBfwo
|
||||||
-> ssh-ed25519 Nl/5yA d8bVRU9KOeGpJcg2PwWvnm8qnT8CEsBru4JHbiyed24
|
-> ssh-ed25519 GdLgCQ X39sru2i8g7oTAiVXhg9urlMMAPC4WZcZ4ipjzFGxR4
|
||||||
Z6I5Xhvhq1EWMuV/H7xiRYsx4F9QSxM/Xnd8VaHls8g
|
gfQBzREuupeNwyD7XtCEUCSoRbAvd8bwyRLomKAk6rg
|
||||||
-> ssh-ed25519 GdLgCQ I1XoGkAandUnNszJypbu4uMN0ejo0fokWsU+CgXP2Wo
|
-> ssh-ed25519 tOH/HQ jGh7wljbo4AnxEAs+vufic3j6Y+57Z0qLq5ZOS0YfEA
|
||||||
rLnZqCqsZgjElmVOfefVZtKiu00mJqjt66YysgdT3GA
|
OeuNT4JxkoBX0XmewlxaPeuUgKGgf/BJlppl4CuFGwk
|
||||||
-> ssh-ed25519 tOH/HQ 1ekPwz1O/m/FsdwXtks/B5oTuZLwhvqXn5aiP3WqRy8
|
-> ssh-ed25519 FpzvfQ yB453fvNrlmZQydBS42OTtGapAZwCyjgsLmze5Rrhk4
|
||||||
PQ2dsYBhm8i4oUWeU430iCdwEf+NoMqfR3uHstdFVHc
|
vI2jeR6Pl17k+EUo67sVIhXpqu1C0fNo8vtReMu3/A0
|
||||||
-> ssh-ed25519 FpzvfQ CuqgZOBrQFCCwQslHBXJmiZx5XrFKP/w3JGT0yTkFGQ
|
-> ssh-ed25519 kdPvzQ njpxHD3aNvKyDIM0sRKD5A3/Iplg5U5FTlk9yYtFdjE
|
||||||
RAHWAXNWnm3gTIjTcfH+5bQ+AeikiSQ7ejCv9xQyF5A
|
HukoZ4nrNohTKfua4kCLGZOUwXSUmSqQvMUJUpTaz6Q
|
||||||
-> ssh-ed25519 kdPvzQ EUwAYcsrZb/kvvBvTAqbcDIt2uRVdsItSyC0rDP/uUQ
|
--- z1qWoUGQYj6xHAOpXiQpEC9ImwqLXkjYRRYFx/WnxJU
|
||||||
/jet2+ewq/rkZMt3Air3CDio1qkJXmN+jzTvqkMmQpk
|
3ô¼w4랤C¢’Sò~‹>7ÒT÷0a&l/lmòp]çï}õ«
|
||||||
-> Z-grease /D aI fQ9
|
|
||||||
UPslB3eMDsmzbw
|
|
||||||
--- M/PtjTsIhWWbmnlXu+8v18AFhvcph2SWiG98GLeDoOU
|
|
||||||
Ö»ˆ^?r,€|è¿i3ß␍Ä@ÒËE?.ôÎ2~…ûýl>9îÖ �ö~
|
|
||||||
+2
-2
@@ -34,14 +34,14 @@ in
|
|||||||
# Then you can reference the file at /run/agenix/matrix
|
# Then you can reference the file at /run/agenix/matrix
|
||||||
"nextcloudadmin.age".publicKeys = everyone;
|
"nextcloudadmin.age".publicKeys = everyone;
|
||||||
|
|
||||||
"drone.age".publicKeys = everyone;
|
|
||||||
|
|
||||||
"3proxy.age".publicKeys = everyone;
|
"3proxy.age".publicKeys = everyone;
|
||||||
|
|
||||||
"linode-forgejo-runner.age".publicKeys = everyone;
|
"linode-forgejo-runner.age".publicKeys = everyone;
|
||||||
"jude-forgejo-runner.age".publicKeys = everyone;
|
"jude-forgejo-runner.age".publicKeys = everyone;
|
||||||
|
|
||||||
|
|
||||||
|
"dendrite.age".publicKeys = everyone;
|
||||||
|
"dendrite_key.age".publicKeys = everyone;
|
||||||
"gitlab/secret.age".publicKeys = everyone;
|
"gitlab/secret.age".publicKeys = everyone;
|
||||||
"gitlab/otp.age".publicKeys = everyone;
|
"gitlab/otp.age".publicKeys = everyone;
|
||||||
"gitlab/db.age".publicKeys = everyone;
|
"gitlab/db.age".publicKeys = everyone;
|
||||||
|
|||||||
Reference in New Issue
Block a user