Compare commits
20
Commits
af310c237f
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
164575b7ba | ||
|
|
49bc86cc04 | ||
|
|
abd8d56fab | ||
|
|
d58232269c | ||
|
|
404b3c5796 | ||
|
|
2c4512dff3 | ||
|
|
d5cb84ed00 | ||
|
|
6e81791188 | ||
|
|
b77fb6e925 | ||
|
|
0f39cfdf32 | ||
|
|
17e85e83b9 | ||
|
|
3f7d4343fc | ||
|
|
0521e895a2 | ||
|
|
10b0a4d862 | ||
|
|
f33a930424 | ||
|
|
107d50ff2b | ||
|
|
3800b27864 | ||
|
|
57e1853e2a | ||
|
|
241f4b0c02 | ||
|
|
1d0f41ac79 |
Generated
+36
-21
@@ -8,11 +8,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769996383,
|
"lastModified": 1782949081,
|
||||||
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
|
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
|
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -28,11 +28,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771471179,
|
"lastModified": 1785496534,
|
||||||
"narHash": "sha256-XuP8HPzvt4+m9aKVeL9GdGNlTeyeDn3zEeUuorvrw88=",
|
"narHash": "sha256-EASdusMYLuPhOCrE3LmsAGOvGhX3vnKBLxFvj9lI8tU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "2dedeb55b2c140d9a123ae931588e8903fe202ef",
|
"rev": "e8827fbbb12015a8dd9f66285aec79d655bcb9f6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -43,11 +43,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771369470,
|
"lastModified": 1785454630,
|
||||||
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
|
"narHash": "sha256-LQy14TZp77TwbQf40gg1V3jo8FwJG0jGDkAH+zRHqg8=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "0182a361324364ae3f436a63005877674cf45efb",
|
"rev": "1559d3daa3ecc813a650b79375ea61b6741b8746",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -57,20 +57,34 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1784555310,
|
||||||
|
"narHash": "sha256-/FCliTPgiuV1owejZFNx3Ch9irdvkOfOFl+HHZ+DrtM=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "421eebfd0ec7bccd4abe826ce62d7e6e83129493",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixvim": {
|
"nixvim": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"nixpkgs": [
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771135771,
|
"lastModified": 1785364321,
|
||||||
"narHash": "sha256-wyvBIhDuyCRyjB3yPg77qoyxrlgQtBR1rVW3c9knV3E=",
|
"narHash": "sha256-BLuHl+nZKb+FDq3GAM6L+UBEiyVepXANA31fT1F56pw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "ed0424f0b08d303a7348f52f7850ad1b2704f9ba",
|
"rev": "acd69cc15d57004e8cb4495034320263a3d362ea",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -94,11 +108,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771166946,
|
"lastModified": 1783174389,
|
||||||
"narHash": "sha256-UFc4lfGBr+wJmwgDGJDn1cVD6DTr0/8TdronNUiyXlU=",
|
"narHash": "sha256-aCWC8ngycU7OdJrU2+Je3qf+1a2ykuBvpPhZT/9tXMc=",
|
||||||
"owner": "mic92",
|
"owner": "mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "2d0cf89b4404529778bc82de7e42b5754e0fe4fa",
|
"rev": "f1406619a3884cd5c47992a70b8b35c9c0fcb4c9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -109,15 +123,16 @@
|
|||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1774449309,
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
"narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=",
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default",
|
"repo": "default",
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
"rev": "c29398b59d2048c4ab79345812849c9bd15e9150",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
|
"ref": "future-26.11",
|
||||||
"repo": "default",
|
"repo": "default",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,10 +11,7 @@
|
|||||||
url = "github:mic92/sops-nix";
|
url = "github:mic92/sops-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nixvim = {
|
nixvim.url = "github:nix-community/nixvim";
|
||||||
url = "github:nix-community/nixvim";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
osConfig ? null,
|
osConfig ? null,
|
||||||
|
inputs,
|
||||||
lib,
|
lib,
|
||||||
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
@@ -20,6 +22,31 @@ in
|
|||||||
|
|
||||||
kekleo = lib.mkIf (osConfig != null) (mkDefaultSharedAttrs config.kekleo (osConfig.kekleo or { }));
|
kekleo = lib.mkIf (osConfig != null) (mkDefaultSharedAttrs config.kekleo (osConfig.kekleo or { }));
|
||||||
|
|
||||||
|
nix =
|
||||||
|
let
|
||||||
|
flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
|
||||||
|
in
|
||||||
|
lib.mkDefault {
|
||||||
|
package = pkgs.nix;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
experimental-features = osConfig.nix.settings.experimental-features or "nix-command flakes";
|
||||||
|
# Opinionated: disable global registry
|
||||||
|
flake-registry = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Opinionated: make flake registry and nix path match flake inputs
|
||||||
|
registry = lib.mapAttrs (_: flake: { inherit flake; }) flakeInputs;
|
||||||
|
nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.sessionVariables = {
|
||||||
|
XDG_CACHE_HOME = "$HOME/.cache";
|
||||||
|
XDG_CONFIG_HOME = "$HOME/.config";
|
||||||
|
XDG_DATA_HOME = "$HOME/.local/share";
|
||||||
|
XDG_STATE_HOME = "$HOME/.local/state";
|
||||||
|
};
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
# Nicely reload system units when changing configs
|
# Nicely reload system units when changing configs
|
||||||
|
|||||||
@@ -22,6 +22,11 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
home.activation.configure-tide = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
home.activation.configure-tide = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||||
${pkgs.fish}/bin/fish -c "tide configure --auto --style=Lean --prompt_colors='16 colors' --show_time=No --lean_prompt_height='Two lines' --prompt_connection=Disconnected --prompt_spacing=Compact --icons='Few icons' --transient=Yes"
|
if [ ! -e "$HOME/.config/fish/tide_configured" ]; then
|
||||||
|
echo "Configuring Tide..."
|
||||||
|
$DRY_RUN_CMD ${pkgs.fish}/bin/fish -c "tide configure --auto --style=Lean --prompt_colors='16 colors' --show_time=No --lean_prompt_height='Two lines' --prompt_connection=Disconnected --prompt_spacing=Compact --icons='Few icons' --transient=Yes"
|
||||||
|
$DRY_RUN_CMD touch "$HOME/.config/fish/tide_configured"
|
||||||
|
echo "Finish Configuring Tide..."
|
||||||
|
fi
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,9 @@
|
|||||||
{
|
{
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
git-credential-oauth
|
|
||||||
git-crypt
|
git-crypt
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -15,10 +12,6 @@
|
|||||||
settings = {
|
settings = {
|
||||||
user.name = "Leonhard Kost";
|
user.name = "Leonhard Kost";
|
||||||
user.email = "leonhard.kost@gmail.com";
|
user.email = "leonhard.kost@gmail.com";
|
||||||
credential.helper = [
|
|
||||||
"cache --timeout 21600"
|
|
||||||
("oauth" + lib.optionalString (!config.kekleo.graphical) " -device")
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,6 +46,9 @@
|
|||||||
];
|
];
|
||||||
"$mod" = "SUPER";
|
"$mod" = "SUPER";
|
||||||
"$launcher" = "rofi -show drun";
|
"$launcher" = "rofi -show drun";
|
||||||
|
bindr = [
|
||||||
|
"$mod,Super_L,exec,pkill rofi || $launcher"
|
||||||
|
];
|
||||||
bind = [
|
bind = [
|
||||||
"ALTSHIFT,Q,killactive,"
|
"ALTSHIFT,Q,killactive,"
|
||||||
"ALT,V,togglefloating,"
|
"ALT,V,togglefloating,"
|
||||||
@@ -53,7 +56,6 @@
|
|||||||
"ALTSHIFT,F,fullscreen,0"
|
"ALTSHIFT,F,fullscreen,0"
|
||||||
"$mod,Return,exec,kitty"
|
"$mod,Return,exec,kitty"
|
||||||
"$mod,F,exec,firefox"
|
"$mod,F,exec,firefox"
|
||||||
"$mod,R,exec,$launcher"
|
|
||||||
|
|
||||||
"ALT,H,movefocus,l"
|
"ALT,H,movefocus,l"
|
||||||
"ALT,L,movefocus,r"
|
"ALT,L,movefocus,r"
|
||||||
|
|||||||
@@ -0,0 +1,53 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim = {
|
||||||
|
plugins.dap = {
|
||||||
|
enable = true;
|
||||||
|
luaConfig.content = ''
|
||||||
|
local dap = require 'dap'
|
||||||
|
local dapui = require 'dapui'
|
||||||
|
dap.listeners.after.event_initialized['dapui_config'] = dapui.open
|
||||||
|
dap.listeners.before.event_terminated['dapui_config'] = dapui.close
|
||||||
|
dap.listeners.before.event_exited['dapui_config'] = dapui.close
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
plugins.dap-ui.enable = true;
|
||||||
|
plugins.dap-python.enable = true;
|
||||||
|
keymaps = [
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<F5>";
|
||||||
|
action = "<cmd>DapContinue<CR>";
|
||||||
|
options.desc = "Debug: Start/Continue";
|
||||||
|
options.silent = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<F1>";
|
||||||
|
action = "<cmd>DapStepInto<CR>";
|
||||||
|
options.desc = "Debug: Step Into";
|
||||||
|
options.silent = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<F2>";
|
||||||
|
action = "<cmd>DapStepOver<CR>";
|
||||||
|
options.desc = "Debug: Step Over";
|
||||||
|
options.silent = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<F3>";
|
||||||
|
action = "<cmd>DapStepOut<CR>";
|
||||||
|
options.desc = "Debug: Step Out";
|
||||||
|
options.silent = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>b";
|
||||||
|
action = "<cmd>DapToggleBreakpoint<CR>";
|
||||||
|
options.desc = "Debug: Toggle Breakpoint";
|
||||||
|
options.silent = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./cmp.nix
|
./cmp.nix
|
||||||
|
#./dap.nix
|
||||||
./lsp.nix
|
./lsp.nix
|
||||||
./fmt.nix
|
./fmt.nix
|
||||||
./treesitter.nix
|
./treesitter.nix
|
||||||
|
|||||||
@@ -40,13 +40,15 @@
|
|||||||
formatters_by_ft = {
|
formatters_by_ft = {
|
||||||
lua = [ "stylua" ];
|
lua = [ "stylua" ];
|
||||||
nix = [ "nixfmt" ];
|
nix = [ "nixfmt" ];
|
||||||
|
python = [ "black" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
stylua
|
stylua
|
||||||
nixfmt-rfc-style
|
nixfmt
|
||||||
|
black
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,11 +3,8 @@
|
|||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
plugins.treesitter = {
|
plugins.treesitter = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
highlight.enable = true;
|
||||||
auto_install = true;
|
indent.enable = true;
|
||||||
highlight.enable = true;
|
|
||||||
indent.enable = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
let
|
let
|
||||||
flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
|
flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
|
||||||
in
|
in
|
||||||
{
|
lib.mkForce {
|
||||||
settings = {
|
settings = {
|
||||||
experimental-features = "nix-command flakes";
|
experimental-features = "nix-command flakes";
|
||||||
# Opinionated: disable global registry
|
# Opinionated: disable global registry
|
||||||
@@ -30,13 +30,6 @@
|
|||||||
nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
|
nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.sessionVariables = {
|
|
||||||
XDG_CACHE_HOME = "$HOME/.cache";
|
|
||||||
XDG_CONFIG_HOME = "$HOME/.config";
|
|
||||||
XDG_DATA_HOME = "$HOME/.local/share";
|
|
||||||
XDG_STATE_HOME = "$HOME/.local/state";
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
vim
|
vim
|
||||||
wget
|
wget
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./exegol.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
# Enable CUPS to print documents.
|
||||||
@@ -22,8 +21,6 @@
|
|||||||
# pulse.enable = true;
|
# pulse.enable = true;
|
||||||
# };
|
# };
|
||||||
|
|
||||||
kekleo.exegol = true;
|
|
||||||
|
|
||||||
users.users = {
|
users.users = {
|
||||||
leonhard = {
|
leonhard = {
|
||||||
initialPassword = "leonhard";
|
initialPassword = "leonhard";
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
options.kekleo.exegol = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = false;
|
|
||||||
description = "Whether to enable exegol.";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf config.kekleo.exegol {
|
|
||||||
virtualisation.docker.enable = true;
|
|
||||||
users.extraGroups.docker.members = [ "leonhard" ];
|
|
||||||
environment.systemPackages = with pkgs; [ exegol4 ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -15,12 +15,12 @@
|
|||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-uuid/0eb29109-abd1-49af-859a-1c5009e2482f";
|
device = "/dev/disk/by-label/nixos";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/disk/by-uuid/EE00-3849";
|
device = "/dev/disk/by-label/boot";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [
|
options = [
|
||||||
"fmask=0077"
|
"fmask=0077"
|
||||||
@@ -28,7 +28,9 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [
|
||||||
|
{ device = "/dev/disk/by-label/swap"; }
|
||||||
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./secrets
|
./secrets
|
||||||
./dyndns
|
./dyndns
|
||||||
|
./gitea.nix
|
||||||
./vaultwarden.nix
|
./vaultwarden.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -47,7 +48,25 @@
|
|||||||
PasswordAuthentication = false;
|
PasswordAuthentication = false;
|
||||||
KbdInteractiveAuthentication = false;
|
KbdInteractiveAuthentication = false;
|
||||||
PermitRootLogin = "no";
|
PermitRootLogin = "no";
|
||||||
AllowUsers = [ "leonhard" ];
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
security.acme = {
|
||||||
|
acceptTerms = true;
|
||||||
|
defaults.email = "admin@${config.kekleo.domain}";
|
||||||
|
defaults.webroot = "/var/lib/acme/acme-challenge/";
|
||||||
|
certs.${config.kekleo.domain} = {
|
||||||
|
group = config.services.nginx.group;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.nginx = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
virtualHosts.${config.kekleo.domain} = {
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = config.kekleo.domain;
|
||||||
|
locations."/.well-known/".root = config.security.acme.defaults.webroot;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
domain = config.kekleo.domain;
|
||||||
|
gitDomain = "git.${domain}";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
services.gitea = {
|
||||||
|
enable = true;
|
||||||
|
settings.server.ROOT_URL = "https://${gitDomain}";
|
||||||
|
settings.server.SSH_PORT = builtins.elemAt config.services.openssh.ports 0;
|
||||||
|
settings.service.DISABLE_REGISTRATION = true;
|
||||||
|
settings.log.LEVEL = "Critical";
|
||||||
|
};
|
||||||
|
|
||||||
|
security.acme.certs.${domain}.extraDomainNames = [
|
||||||
|
gitDomain
|
||||||
|
];
|
||||||
|
|
||||||
|
services.nginx = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
virtualHosts.${gitDomain} = {
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = config.kekleo.domain;
|
||||||
|
locations."/" = {
|
||||||
|
proxyPass = "http://127.0.0.1:${toString config.services.gitea.settings.server.HTTP_PORT}";
|
||||||
|
proxyWebsockets = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,32 +1,42 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
{
|
||||||
# and may be overwritten by future invocations. Please make changes
|
config,
|
||||||
# to /etc/nixos/configuration.nix instead.
|
lib,
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "sd_mod" ];
|
boot.initrd.availableKernelModules = [
|
||||||
|
"xhci_pci"
|
||||||
|
"ahci"
|
||||||
|
"usbhid"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ ];
|
boot.kernelModules = [ ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/e9aebe22-0d9f-460f-a576-f1c44f6050b0";
|
device = "/dev/disk/by-label/nixos";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/4705-B811";
|
device = "/dev/disk/by-label/boot";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = [
|
||||||
};
|
"fmask=0077"
|
||||||
|
"dmask=0077"
|
||||||
swapDevices =
|
|
||||||
[ { device = "/dev/disk/by-uuid/a81582c7-be0f-4070-b3e8-64e24b8483d2"; }
|
|
||||||
];
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [
|
||||||
|
{ device = "/dev/disk/by-label/swap"; }
|
||||||
|
];
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
|||||||
@@ -20,17 +20,16 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
security.acme = {
|
security.acme.certs.${domain}.extraDomainNames = [
|
||||||
acceptTerms = true;
|
vaultDomain
|
||||||
defaults.email = "admin@${domain}";
|
];
|
||||||
};
|
|
||||||
|
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
virtualHosts.${vaultDomain} = {
|
virtualHosts.${vaultDomain} = {
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
enableACME = true;
|
useACMEHost = config.kekleo.domain;
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
proxyPass = "http://127.0.0.1:${toString config.services.vaultwarden.config.ROCKET_PORT}";
|
proxyPass = "http://127.0.0.1:${toString config.services.vaultwarden.config.ROCKET_PORT}";
|
||||||
proxyWebsockets = true;
|
proxyWebsockets = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user