Compare commits
3 commits
c3d019a46e
...
12cc5979f2
Author | SHA1 | Date | |
---|---|---|---|
|
12cc5979f2 | ||
|
bc1a7c4092 | ||
|
ca9b9f6222 |
|
@ -1,15 +0,0 @@
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: 0 3 * * *
|
|
||||||
push:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
test:
|
|
||||||
runs-on: native
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- run: nix build self#loptland
|
|
||||||
|
|
||||||
|
|
862
flake.lock
862
flake.lock
File diff suppressed because it is too large
Load diff
35
flake.nix
35
flake.nix
|
@ -30,7 +30,7 @@
|
||||||
|
|
||||||
###
|
###
|
||||||
# hyprland stuff
|
# hyprland stuff
|
||||||
hyprland.url = "github:hyprwm/Hyprland";
|
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
||||||
hyprlock.url = "github:hyprwm/hyprlock";
|
hyprlock.url = "github:hyprwm/hyprlock";
|
||||||
hyprland-plugins = {
|
hyprland-plugins = {
|
||||||
url = "github:hyprwm/hyprland-plugins";
|
url = "github:hyprwm/hyprland-plugins";
|
||||||
|
@ -56,6 +56,12 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# still not sure if I like helix or nvim more, for now helix does mostly everything I need it to
|
||||||
|
kickstartnvim = {
|
||||||
|
url = "github:Daholli/kickstart-nix-nvim";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
helix = {
|
helix = {
|
||||||
url = "github:helix-editor/helix";
|
url = "github:helix-editor/helix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -70,18 +76,13 @@
|
||||||
sops-nix.url = "github:Mic92/sops-nix";
|
sops-nix.url = "github:Mic92/sops-nix";
|
||||||
|
|
||||||
## temporary
|
## temporary
|
||||||
zen-browser.url = "github:0xc000022070/zen-browser-flake";
|
zen-browser.url = "github:ch4og/zen-browser-flake";
|
||||||
|
|
||||||
raspberry-pi-nix = {
|
raspberry-pi-nix = {
|
||||||
url = "github:nix-community/raspberry-pi-nix";
|
url = "github:nix-community/raspberry-pi-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.05";
|
|
||||||
catppuccin.url = "github:catppuccin/nix";
|
|
||||||
|
|
||||||
nix-gaming.url = "github:fufexan/nix-gaming";
|
|
||||||
|
|
||||||
################
|
################
|
||||||
## inputs for dev shells
|
## inputs for dev shells
|
||||||
|
|
||||||
|
@ -118,20 +119,14 @@
|
||||||
|
|
||||||
overlays = with inputs; [
|
overlays = with inputs; [
|
||||||
snowfall-flake.overlays.default
|
snowfall-flake.overlays.default
|
||||||
|
kickstartnvim.overlays.default
|
||||||
hyprpanel.overlay
|
hyprpanel.overlay
|
||||||
];
|
];
|
||||||
|
|
||||||
homes.modules = with inputs; [
|
|
||||||
sops-nix.homeManagerModules.sops
|
|
||||||
catppuccin.homeManagerModules.catppuccin
|
|
||||||
];
|
|
||||||
|
|
||||||
systems.modules.nixos = with inputs; [
|
systems.modules.nixos = with inputs; [
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
nix-ld.nixosModules.nix-ld
|
nix-ld.nixosModules.nix-ld
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
|
|
||||||
catppuccin.nixosModules.catppuccin
|
|
||||||
];
|
];
|
||||||
|
|
||||||
systems.hosts.nixberry.modules = with inputs; [
|
systems.hosts.nixberry.modules = with inputs; [
|
||||||
|
@ -139,19 +134,9 @@
|
||||||
raspberry-pi-nix.nixosModules.sd-image
|
raspberry-pi-nix.nixosModules.sd-image
|
||||||
];
|
];
|
||||||
|
|
||||||
systems.hosts.loptland.modules = with inputs; [
|
|
||||||
simple-nixos-mailserver.nixosModules.default
|
|
||||||
];
|
|
||||||
|
|
||||||
systems.hosts.wsl.modules = with inputs; [ nixos-wsl.nixosModules.default ];
|
systems.hosts.wsl.modules = with inputs; [ nixos-wsl.nixosModules.default ];
|
||||||
}
|
}
|
||||||
// rec {
|
// {
|
||||||
self = inputs.self;
|
self = inputs.self;
|
||||||
|
|
||||||
hydraJobs = {
|
|
||||||
hosts = lib.mapAttrs (_: cfg: cfg.config.system.build.toplevel) (
|
|
||||||
lib.filterAttrs (name: cfg: name != "nixberry") self.outputs.nixosConfigurations
|
|
||||||
);
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,4 +17,6 @@ with lib.wyrdgard;
|
||||||
direnv = enabled;
|
direnv = enabled;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.stateVersion = "24.05";
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,8 +18,6 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
catppuccin.fish.enable = true;
|
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
fish = {
|
fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -39,7 +37,7 @@ in
|
||||||
'';
|
'';
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
vim = "hx";
|
vim = "hx";
|
||||||
ls = "eza -lah --icons --git";
|
ls = "eza -lh --icons --git";
|
||||||
lss = "ls --total-size";
|
lss = "ls --total-size";
|
||||||
};
|
};
|
||||||
plugins = with pkgs.fishPlugins; [
|
plugins = with pkgs.fishPlugins; [
|
||||||
|
|
|
@ -16,7 +16,6 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
catppuccin.starship.enable = true;
|
|
||||||
programs = {
|
programs = {
|
||||||
fish.shellInit = "
|
fish.shellInit = "
|
||||||
starship init fish | source
|
starship init fish | source
|
||||||
|
|
|
@ -19,8 +19,6 @@ in
|
||||||
|
|
||||||
home.sessionVariables.TERMINAL = "kitty";
|
home.sessionVariables.TERMINAL = "kitty";
|
||||||
|
|
||||||
catppuccin.kitty.enable = true;
|
|
||||||
|
|
||||||
# TODO: move this to a thunar specific module
|
# TODO: move this to a thunar specific module
|
||||||
home.file.".config/Thunar/uca.xml".text = ''
|
home.file.".config/Thunar/uca.xml".text = ''
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
@ -42,7 +40,7 @@ in
|
||||||
|
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# themeFile = "tokyo_night_night";
|
themeFile = "tokyo_night_night";
|
||||||
font = {
|
font = {
|
||||||
name = "Code New Roman";
|
name = "Code New Roman";
|
||||||
size = 15;
|
size = 15;
|
||||||
|
|
|
@ -52,7 +52,6 @@ in
|
||||||
];
|
];
|
||||||
strategy = "incremental";
|
strategy = "incremental";
|
||||||
};
|
};
|
||||||
lfs."https://git.christophhollizeck.dev/Daholli/nixos-config.git/info/lfs".locksverify = true;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -41,13 +41,12 @@ in
|
||||||
!**/appsettings.json
|
!**/appsettings.json
|
||||||
'';
|
'';
|
||||||
|
|
||||||
catppuccin.helix.enable = true;
|
|
||||||
|
|
||||||
programs.helix = {
|
programs.helix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = helix-pkg;
|
package = helix-pkg;
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
theme = "tokyonight";
|
||||||
editor = {
|
editor = {
|
||||||
auto-format = true;
|
auto-format = true;
|
||||||
line-number = "relative";
|
line-number = "relative";
|
||||||
|
@ -153,21 +152,11 @@ in
|
||||||
config.provideFormatter = true;
|
config.provideFormatter = true;
|
||||||
config.json.validate.enable = true;
|
config.json.validate.enable = true;
|
||||||
};
|
};
|
||||||
vscode-html-language-server = {
|
|
||||||
command = "${pkgs.vscode-langservers-extracted}/bin/vscode-html-language-server";
|
|
||||||
args = [ "--stdio" ];
|
|
||||||
config.provideFormatter = true;
|
|
||||||
};
|
|
||||||
vscode-css-language-server = {
|
vscode-css-language-server = {
|
||||||
command = "${pkgs.vscode-langservers-extracted}/bin/vscode-css-language-server";
|
command = "${pkgs.vscode-langservers-extracted}/bin/vscode-css-language-server";
|
||||||
args = [ "--stdio" ];
|
args = [ "--stdio" ];
|
||||||
config.provideFormatter = true;
|
config.provideFormatter = true;
|
||||||
};
|
};
|
||||||
vscode-eslint-language-server = {
|
|
||||||
command = "${pkgs.vscode-langservers-extracted}/bin/vscode-eslint-language-server";
|
|
||||||
args = [ "--stdio" ];
|
|
||||||
config.provideFormatter = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -610,9 +610,5 @@ in
|
||||||
text = builtins.toJSON settings;
|
text = builtins.toJSON settings;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs.nerd-fonts; [
|
|
||||||
jetbrains-mono
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,15 +17,11 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
catppuccin.flavor = "mocha";
|
|
||||||
catppuccin.enable = true;
|
|
||||||
|
|
||||||
${namespace}.home.extraOptions = {
|
${namespace}.home.extraOptions = {
|
||||||
catppuccin.flavor = "mocha";
|
dconf.settings = {
|
||||||
catppuccin.enable = true;
|
"org/gnome/desktop/interface" = {
|
||||||
|
color-scheme = "prefer-dark";
|
||||||
dconf = {
|
};
|
||||||
settings."org/gnome/desktop/interface".color-scheme = "prefer-dark";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
gtk = {
|
gtk = {
|
||||||
|
@ -44,5 +40,6 @@ in
|
||||||
platformTheme = "gnome";
|
platformTheme = "gnome";
|
||||||
style = "adwaita-dark";
|
style = "adwaita-dark";
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,7 +56,7 @@ in
|
||||||
users = [
|
users = [
|
||||||
"root"
|
"root"
|
||||||
config.${namespace}.user.name
|
config.${namespace}.user.name
|
||||||
] ++ optional config.services.hydra.enable "hydra hydra-evaluator hydra-queue-runner";
|
];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
package = cfg.package;
|
package = cfg.package;
|
||||||
|
@ -71,7 +71,6 @@ in
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
trusted-users = users;
|
trusted-users = users;
|
||||||
allowed-users = users;
|
allowed-users = users;
|
||||||
allowed-uris = "github: https://github.com/ git+https://github.com/ gitlab: https://gitlab.com/ git+https://gitlab.com/";
|
|
||||||
substituters = [
|
substituters = [
|
||||||
cfg.default-substituter.url
|
cfg.default-substituter.url
|
||||||
] ++ (mapAttrsToList (name: value: name) cfg.extra-substituters);
|
] ++ (mapAttrsToList (name: value: name) cfg.extra-substituters);
|
||||||
|
|
|
@ -28,11 +28,15 @@ in
|
||||||
fonts.packages =
|
fonts.packages =
|
||||||
with pkgs;
|
with pkgs;
|
||||||
[
|
[
|
||||||
|
(nerdfonts.override {
|
||||||
|
fonts = [
|
||||||
|
"CodeNewRoman"
|
||||||
|
"NerdFontsSymbolsOnly"
|
||||||
|
];
|
||||||
|
})
|
||||||
font-awesome
|
font-awesome
|
||||||
powerline-fonts
|
powerline-fonts
|
||||||
powerline-symbols
|
powerline-symbols
|
||||||
nerd-fonts.code-new-roman
|
|
||||||
nerd-fonts.symbols-only
|
|
||||||
]
|
]
|
||||||
++ cfg.fonts;
|
++ cfg.fonts;
|
||||||
};
|
};
|
||||||
|
|
|
@ -24,7 +24,7 @@ in
|
||||||
|
|
||||||
programs.noisetorch.enable = true;
|
programs.noisetorch.enable = true;
|
||||||
|
|
||||||
services.pulseaudio = disabled;
|
hardware.pulseaudio = disabled;
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
|
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
namespace,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
inherit (lib) mkIf mkEnableOption;
|
|
||||||
|
|
||||||
cfg = config.${namespace}.tools.devenv;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.${namespace}.tools.devenv = {
|
|
||||||
enable = mkEnableOption "Whether or not to enable direnv.";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
environment.systemPackages = [
|
|
||||||
pkgs.devenv
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -49,7 +49,6 @@ in
|
||||||
safe = {
|
safe = {
|
||||||
directory = "${config.users.users.${user.name}.home}/projects/config";
|
directory = "${config.users.users.${user.name}.home}/projects/config";
|
||||||
};
|
};
|
||||||
lfs."https://git.christophhollizeck.dev/Daholli/nixos-config.git/info/lfs".locksverify = true;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
{ channels, ... }:
|
|
||||||
|
|
||||||
final: prev: { inherit (channels.nixpkgs-pyfa) pyfa; }
|
|
|
@ -5,11 +5,6 @@ factorio:
|
||||||
forgejo:
|
forgejo:
|
||||||
db:
|
db:
|
||||||
password: ENC[AES256_GCM,data:CicLsCG2WCtiKMcz3DF5eVVaT8A=,iv:SPO1H4AZwo5FjJWkf1OS7aPOrpTGxqsAj4q3cuuWAbA=,tag:0snK8RyAd8heNvui2sbSNw==,type:str]
|
password: ENC[AES256_GCM,data:CicLsCG2WCtiKMcz3DF5eVVaT8A=,iv:SPO1H4AZwo5FjJWkf1OS7aPOrpTGxqsAj4q3cuuWAbA=,tag:0snK8RyAd8heNvui2sbSNw==,type:str]
|
||||||
mail:
|
|
||||||
password: ENC[AES256_GCM,data:XgQZM0MBUEELyhH7UvyyMEiUABs=,iv:m3Wzs2SAPQ2w6UC02lpTvwd83Dt0LEzqdIj65HeOrbU=,tag:3cr5dnjeyoJ4ze9RFd9K5g==,type:str]
|
|
||||||
passwordHash: ENC[AES256_GCM,data:hHGJBUEtCi/gErZ5vm0gsEFqyIDNkED4scR4NAOSzbiiZAYTMg++yqf3hfjjwWV3wTPswNpzzw+gYKEH,iv:wDM5IOOamopFpMEkUit4y7LBZi8CJff3+Tc08lK4IXI=,tag:FaaaohtA+vBFwjDugoemQw==,type:str]
|
|
||||||
runner:
|
|
||||||
token: ENC[AES256_GCM,data:PyJvFNtq18h3zDwBT/jDYdh7noQ1Si1gpTnVAPEbKGQFydIMk0CQWQDCjiK6xA==,iv:ceGpyyMnLrdJTPEw6ViDeZVy83dRWi6tViks6K7p1UE=,tag:zEFP/8fI9nxJdf4BmJH7Uw==,type:str]
|
|
||||||
netcup:
|
netcup:
|
||||||
customer_number: ENC[AES256_GCM,data:9+QboNg1,iv:Tg9ylJUM8L/kzqFmk2uIsD9noqnp5wIxr5GVXMsZwB8=,tag:2qRggSIkPHuCQYDWCfka5Q==,type:str]
|
customer_number: ENC[AES256_GCM,data:9+QboNg1,iv:Tg9ylJUM8L/kzqFmk2uIsD9noqnp5wIxr5GVXMsZwB8=,tag:2qRggSIkPHuCQYDWCfka5Q==,type:str]
|
||||||
api:
|
api:
|
||||||
|
@ -39,8 +34,8 @@ sops:
|
||||||
UllqSDR1YWl6aU1jSnY2WE9oczg5Q28KfN15tFxXHrJmOHySK+cyLi2bFqArg244
|
UllqSDR1YWl6aU1jSnY2WE9oczg5Q28KfN15tFxXHrJmOHySK+cyLi2bFqArg244
|
||||||
bNTYyuBUtBW1Y/EuNpbyLjSNQpKZWFz7grE64uxrNQHP865N3wv0gg==
|
bNTYyuBUtBW1Y/EuNpbyLjSNQpKZWFz7grE64uxrNQHP865N3wv0gg==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2024-12-28T08:37:33Z"
|
lastmodified: "2024-11-12T14:29:12Z"
|
||||||
mac: ENC[AES256_GCM,data:S2UcgNVmk+BSHaUVodsDHjwCIB5cAIfv+tb8mhTh9hktZBFxfQsRgrH+dFlpe7FmbWRBF8XnOIlsf74ytamfmGVEqBfyLA8gzdiAt9oFmOVdCFGf29IaSQjk8nehaYBPM5CJ35ihhzw8yC6S3JmgGuGuzmtDtJq61Zp68WQ5tow=,iv:KKo65bjuNuvzclAFALEGdKn134TxBhDjyjbX3ULEuV8=,tag:odGFLbfijulc9/hmjrPRxQ==,type:str]
|
mac: ENC[AES256_GCM,data:lKx1qAe689wkWkrMRvqHpE0zmv+ShLwpApBw2C4+JEuuHnoN1W7aoB/GQRkWzmImCCy9odzM2yoUa0mJogl0i+bddblrl+ZS0uPmPQrm3pM0sl876pelogxKuNpQWS8PRNDe24z3m06f0TozhfPF9D2ywH30tFH8naZONfWTTUU=,iv:tDhJVlWnTHnjZak32pgnUZ8XtM6TK9o2gZ0X3tcQD4Q=,tag:PcMS/5DpEkDkk+U0GG918w==,type:str]
|
||||||
pgp: []
|
pgp: []
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.9.2
|
version: 3.9.1
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
mkShell,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
mkShell {
|
|
||||||
# Create your shell
|
|
||||||
nativeBuildInputs = with pkgs; [
|
|
||||||
jdt-language-server
|
|
||||||
zulu8
|
|
||||||
zulu21
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -19,11 +19,6 @@ in
|
||||||
raspberry-pi-5
|
raspberry-pi-5
|
||||||
];
|
];
|
||||||
|
|
||||||
services.tailscale = {
|
|
||||||
enable = true;
|
|
||||||
useRoutingFeatures = "server";
|
|
||||||
};
|
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
interfaces.end0 = {
|
interfaces.end0 = {
|
||||||
ipv4.addresses = [
|
ipv4.addresses = [
|
||||||
|
|
|
@ -11,7 +11,6 @@ let
|
||||||
|
|
||||||
domainName = "christophhollizeck.dev";
|
domainName = "christophhollizeck.dev";
|
||||||
forgejoPort = 3000;
|
forgejoPort = 3000;
|
||||||
hydraPort = 2000;
|
|
||||||
|
|
||||||
cfg.enableAcme = true;
|
cfg.enableAcme = true;
|
||||||
|
|
||||||
|
@ -27,15 +26,6 @@ in
|
||||||
"forgejo/db/password" = {
|
"forgejo/db/password" = {
|
||||||
inherit sopsFile;
|
inherit sopsFile;
|
||||||
};
|
};
|
||||||
"forgejo/mail/password" = {
|
|
||||||
inherit sopsFile;
|
|
||||||
};
|
|
||||||
"forgejo/mail/passwordHash" = {
|
|
||||||
inherit sopsFile;
|
|
||||||
};
|
|
||||||
"forgejo/runner/token" = {
|
|
||||||
inherit sopsFile;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -53,31 +43,12 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
"hydra.${domainName}" = {
|
|
||||||
forceSSL = cfg.enableAcme;
|
|
||||||
useACMEHost = mkIf cfg.enableAcme domainName;
|
|
||||||
|
|
||||||
locations."/" = {
|
|
||||||
proxyPass = "http://localhost:${toString hydraPort}/";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
"${domainName}" = {
|
"${domainName}" = {
|
||||||
forceSSL = cfg.enableAcme;
|
forceSSL = cfg.enableAcme;
|
||||||
useACMEHost = mkIf cfg.enableAcme domainName;
|
useACMEHost = mkIf cfg.enableAcme domainName;
|
||||||
|
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
root = /var/www/website;
|
return = "404";
|
||||||
index = "index.html";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
"_" = {
|
|
||||||
forceSSL = cfg.enableAcme;
|
|
||||||
useACMEHost = mkIf cfg.enableAcme domainName;
|
|
||||||
|
|
||||||
locations."/" = {
|
|
||||||
proxyPass = "https://${domainName}";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -98,79 +69,10 @@ in
|
||||||
HTTP_PORT = forgejoPort;
|
HTTP_PORT = forgejoPort;
|
||||||
};
|
};
|
||||||
|
|
||||||
mailer = {
|
|
||||||
ENABLED = true;
|
|
||||||
PROTOCOL = "smtps";
|
|
||||||
FROM = "no-reply@${domainName}";
|
|
||||||
SMTP_ADDR = "mail.${domainName}";
|
|
||||||
USER = "forgejo@${domainName}";
|
|
||||||
};
|
|
||||||
|
|
||||||
service.DISABLE_REGISTRATION = true;
|
service.DISABLE_REGISTRATION = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
secrets = {
|
|
||||||
mailer.PASSWD = config.sops.secrets."forgejo/mail/password".path;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mailserver = {
|
|
||||||
enable = true;
|
|
||||||
fqdn = "mail.${domainName}";
|
|
||||||
domains = [ domainName ];
|
|
||||||
|
|
||||||
loginAccounts = {
|
|
||||||
"forgejo@${domainName}" = {
|
|
||||||
hashedPasswordFile = config.sops.secrets."forgejo/mail/passwordHash".path;
|
|
||||||
aliases = [ "no-reply@${domainName}" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
certificateScheme = "acme-nginx";
|
|
||||||
};
|
|
||||||
|
|
||||||
services.hydra = {
|
|
||||||
enable = true;
|
|
||||||
hydraURL = "http://localhost:${toString hydraPort}";
|
|
||||||
port = hydraPort;
|
|
||||||
notificationSender = "hydra@localhost";
|
|
||||||
buildMachinesFiles = [ ];
|
|
||||||
useSubstitutes = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# services.gitea-actions-runner = {
|
|
||||||
# package = pkgs.forgejo-actions-runner;
|
|
||||||
# instances.default = {
|
|
||||||
# enable = true;
|
|
||||||
# name = "monolith";
|
|
||||||
# url = "https://git.${domainName}";
|
|
||||||
# tokenFile = config.sops.secrets."forgejo/runner/token".path;
|
|
||||||
# labels = [
|
|
||||||
# "native:host"
|
|
||||||
# ];
|
|
||||||
# hostPackages = with pkgs; [
|
|
||||||
# bash
|
|
||||||
# coreutils
|
|
||||||
# curl
|
|
||||||
# gawk
|
|
||||||
# gitMinimal
|
|
||||||
# gnused
|
|
||||||
# nodejs
|
|
||||||
# wget
|
|
||||||
# ];
|
|
||||||
# settings = {
|
|
||||||
# log.level = "info";
|
|
||||||
# runner = {
|
|
||||||
# capacity = 1;
|
|
||||||
# timeout = "3h";
|
|
||||||
# shutdown_timeout = "3s";
|
|
||||||
# fetch_timeout = "5s";
|
|
||||||
# fetch_inteval = "2s";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [
|
networking.firewall.allowedTCPPorts = [
|
||||||
forgejoPort
|
forgejoPort
|
||||||
80
|
80
|
||||||
|
|
|
@ -1,154 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Christoph Hollizeck</title>
|
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
|
||||||
|
|
||||||
<style>
|
|
||||||
* {
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
|
||||||
height: 100%;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
height: inherit;
|
|
||||||
font-family: monospace;
|
|
||||||
background-color: #2e2c42;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-box {
|
|
||||||
margin: auto;
|
|
||||||
margin-top: 10%;
|
|
||||||
position: relative;
|
|
||||||
width: 50vw;
|
|
||||||
height: 50vw;
|
|
||||||
max-width: 828px;
|
|
||||||
max-height: 828px;
|
|
||||||
min-width: 541px;
|
|
||||||
min-height: 541px;
|
|
||||||
text-align: center;
|
|
||||||
border-radius: 15%;
|
|
||||||
color: #90A0C1;
|
|
||||||
background-color: #151823;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-box:after {
|
|
||||||
position: absolute;
|
|
||||||
content: "";
|
|
||||||
top: 5vw;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
z-index: -1;
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
margin: auto;
|
|
||||||
transform: scale(0.75);
|
|
||||||
-webkit-filter: blur(5vw);
|
|
||||||
-moz-filter: blur(5vw);
|
|
||||||
-ms-filter: blur(5vw);
|
|
||||||
filter: blur(5vw);
|
|
||||||
background: linear-gradient(270deg, #0fffc1, #7e0fff);
|
|
||||||
background-size: 200% 200%;
|
|
||||||
animation: animateGlow 10s ease infinite;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-box {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
padding: 10%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
font-size: 13px;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hyperlinks {
|
|
||||||
margin-top: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Style all font awesome icons */
|
|
||||||
.fa,
|
|
||||||
.fa-brands {
|
|
||||||
padding: 20px;
|
|
||||||
font-size: 30px;
|
|
||||||
width: 50px;
|
|
||||||
text-align: center;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa:visited {
|
|
||||||
color: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Add a hover effect if you want */
|
|
||||||
.fa:hover {
|
|
||||||
opacity: 0.7;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes animateGlow {
|
|
||||||
0% {
|
|
||||||
background-position: 0% 50%;
|
|
||||||
}
|
|
||||||
|
|
||||||
50% {
|
|
||||||
background-position: 100% 50%;
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
background-position: 0% 50%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes textColor {
|
|
||||||
0% {
|
|
||||||
color: #7e0fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
50% {
|
|
||||||
color: #0fffc1;
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
color: #7e0fff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div class="content-box">
|
|
||||||
<div class="text-box">
|
|
||||||
<h1> Christoph Hollizeck </h1>
|
|
||||||
|
|
||||||
<p> "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
||||||
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
||||||
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
||||||
pariatur.
|
|
||||||
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p> "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
||||||
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
||||||
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
||||||
pariatur.
|
|
||||||
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div class="hyperlinks">
|
|
||||||
<a href="https://git.christophhollizeck.dev" class="fa fa-git"></a>
|
|
||||||
<a href="https://https://www.linkedin.com/in/christoph-hollizeck-650007214/" class="fa fa-linkedin"></a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
|
@ -1,5 +1,4 @@
|
||||||
{
|
{
|
||||||
inputs,
|
|
||||||
lib,
|
lib,
|
||||||
namespace,
|
namespace,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
@ -19,9 +18,7 @@ in
|
||||||
|
|
||||||
# eve
|
# eve
|
||||||
bottles
|
bottles
|
||||||
pyfa
|
|
||||||
|
|
||||||
unzip
|
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.pathsToLink = [ "/libexec" ];
|
environment.pathsToLink = [ "/libexec" ];
|
||||||
|
@ -35,11 +32,6 @@ in
|
||||||
backupFileExtension = ".bak";
|
backupFileExtension = ".bak";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.tailscale = {
|
|
||||||
enable = true;
|
|
||||||
useRoutingFeatures = "server";
|
|
||||||
};
|
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
distributedBuilds = true;
|
distributedBuilds = true;
|
||||||
settings.builders-use-substitutes = true;
|
settings.builders-use-substitutes = true;
|
||||||
|
@ -108,7 +100,7 @@ in
|
||||||
|
|
||||||
windowrulev2 = [
|
windowrulev2 = [
|
||||||
"workspace 8 silent, class:^(steam)$, title:^(Friends List)"
|
"workspace 8 silent, class:^(steam)$, title:^(Friends List)"
|
||||||
"workspace 8 silent, class:^(discord)$, title:^(Discord)"
|
"workspace 8 silent, class:^(vesktop)$, title:^(Discord)"
|
||||||
"workspace 7 silent, class:^(com.obsproject.Studio)$"
|
"workspace 7 silent, class:^(com.obsproject.Studio)$"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -118,8 +110,6 @@ in
|
||||||
factorio-server = disabled;
|
factorio-server = disabled;
|
||||||
};
|
};
|
||||||
|
|
||||||
tools.devenv = enabled;
|
|
||||||
|
|
||||||
system = {
|
system = {
|
||||||
hardware = {
|
hardware = {
|
||||||
bluetooth = enabled;
|
bluetooth = enabled;
|
||||||
|
|
Loading…
Reference in a new issue