This commit is contained in:
Cyryl Płotnicki 2024-06-28 19:23:39 +01:00
parent f04b07ce3b
commit 1b67f19e18
9 changed files with 106 additions and 39 deletions

View file

@ -137,17 +137,22 @@
"x86_64-linux".default = mkShell nixpkgs-stable "x86_64-linux"; "x86_64-linux".default = mkShell nixpkgs-stable "x86_64-linux";
"aarch64-linux".default = mkShell nixpkgs-stable "aarch64-linux"; "aarch64-linux".default = mkShell nixpkgs-stable "aarch64-linux";
}; };
# Expose the package set, including overlays, for convenience.
darwinPackages = self.darwinConfigurations."airy".pkgs;
darwinConfigurations = { darwinConfigurations = {
"FORM3-CYRYLPLOTN" = darwin.lib.darwinSystem rec { "airy" = darwin.lib.darwinSystem rec {
system = "x86_64-darwin"; system = "aarch64-darwin";
modules = [ modules = [
(./. + "/nixos/boxes/form3") (./. + "/nixos/boxes/airy")
{users.users.cyryl.home = "/Users/cyryl";}
home-manager.darwinModules.home-manager home-manager.darwinModules.home-manager
{ {
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
users.cyryl = { users.cyryl = {
home.homeDirectory = "/Users/cyryl";
imports = [./nixos/home-manager]; imports = [./nixos/home-manager];
_module.args.inputs = inputs; _module.args.inputs = inputs;
_module.args.system = system; _module.args.system = system;

View file

@ -0,0 +1,38 @@
{
config,
pkgs,
inputs,
lib,
nixpkgs-nixos-unstable-and-unfree,
...
}: {
environment.systemPackages = with pkgs; [vim nixfmt];
imports = [
../../git
../../helix
../../mercurial
../../vim
../../zsh
];
services.nix-daemon.enable = true;
nix.settings.experimental-features = "nix-command flakes";
programs.zsh.enable = true; # default shell on catalina
system.stateVersion = 4;
# The platform the configuration will be used on.
nixpkgs.hostPlatform = "aarch64-darwin";
homebrew.enable = true;
home-manager.users.cyryl = {...}: {
imports = [];
home.packages = with pkgs; [awscli kubectl cargo-update];
programs = {
};
};
}

View file

@ -1,9 +1,12 @@
{ config, pkgs, ... }: {
let config,
pkgs,
...
}: let
genericBackupPath = "/var/lib/backups/"; genericBackupPath = "/var/lib/backups/";
nixosContainersBackupPath = "/var/lib/nixos-containers/"; nixosContainersBackupPath = "/var/lib/nixos-containers/";
in rec { in rec {
environment.systemPackages = with pkgs; [ restic ]; environment.systemPackages = with pkgs; [restic];
sops.secrets."restic-backups-b2-repo-password" = { sops.secrets."restic-backups-b2-repo-password" = {
sopsFile = ./restic.sops.yaml; sopsFile = ./restic.sops.yaml;
@ -29,7 +32,7 @@ in rec {
systemctl stop container@foundryvtt.service systemctl stop container@foundryvtt.service
systemctl stop cryptpad.service systemctl stop cryptpad.service
systemctl stop forgejo.service systemctl stop forgejo.service
systemctl stop mastodon* systemctl stop mastodon*
systemctl stop postgresql.service systemctl stop postgresql.service
''; '';
backupCleanupCommand = '' backupCleanupCommand = ''
@ -37,12 +40,11 @@ in rec {
systemctl start forgejo.service systemctl start forgejo.service
systemctl start cryptpad.service systemctl start cryptpad.service
systemctl start container@foundryvtt.service systemctl start container@foundryvtt.service
systemctl start --all mastodon* systemctl start --all mastodon*
''; '';
timerConfig = { OnCalendar = "daily"; }; timerConfig = {OnCalendar = "daily";};
environmentFile = environmentFile = "${config.sops.secrets.restic-backups-b2-environment.path}";
"${config.sops.secrets.restic-backups-b2-environment.path}"; exclude = ["cache"];
exclude = [ "cache" ];
pruneOpts = [ pruneOpts = [
"--keep-hourly 25" "--keep-hourly 25"
"--keep-daily 8" "--keep-daily 8"
@ -50,7 +52,7 @@ in rec {
"--keep-monthly 13" "--keep-monthly 13"
"--keep-yearly 2" "--keep-yearly 2"
]; ];
checkOpts = [ "--with-cache" ]; checkOpts = ["--with-cache"];
}; };
}; };

View file

@ -1,5 +1,11 @@
{ config, pkgs, inputs, lib, system, ... }: {
let config,
pkgs,
inputs,
lib,
system,
...
}: let
unstable = inputs.nixpkgs-nixos-unstable; unstable = inputs.nixpkgs-nixos-unstable;
package = unstable.legacyPackages."${system}".forgejo; package = unstable.legacyPackages."${system}".forgejo;
httpPort = 8083; httpPort = 8083;
@ -22,20 +28,19 @@ let
}; };
groups."${systemGroupName}" = { groups."${systemGroupName}" = {
inherit gid; inherit gid;
members = [ "${systemUserName}" "nginx" ]; members = ["${systemUserName}" "nginx"];
}; };
}; };
in { in {
imports = imports = [../nginx.nix "${unstable}/nixos/modules/services/misc/forgejo.nix"];
[ ../nginx.nix "${unstable}/nixos/modules/services/misc/forgejo.nix" ]; disabledModules = ["services/misc/forgejo.nix"];
disabledModules = [ "services/misc/forgejo.nix" ];
inherit users; inherit users;
boot.kernel.sysctl = { "net.ipv4.ip_unprivileged_port_start" = 0; }; boot.kernel.sysctl = {"net.ipv4.ip_unprivileged_port_start" = 0;};
systemd.services.systemd-sysctl.enable = lib.mkForce true; systemd.services.systemd-sysctl.enable = lib.mkForce true;
networking.firewall.allowedTCPPorts = [ sshPort ]; networking.firewall.allowedTCPPorts = [sshPort];
services.nginx = { services.nginx = {
virtualHosts = { virtualHosts = {
"${domain}" = { "${domain}" = {

View file

@ -1,8 +1,12 @@
{ config, pkgs, ... }: { {
config,
pkgs,
...
}: {
console.keyMap = "pl2"; console.keyMap = "pl2";
imports = [ ./tailscale ]; imports = [./tailscale];
services = { services = {
udev.packages = [ pkgs.android-udev-rules ]; udev.packages = [pkgs.android-udev-rules];
ratbagd.enable = true; ratbagd.enable = true;
gvfs.enable = true; gvfs.enable = true;

View file

@ -1,10 +1,15 @@
{ config, pkgs, ... }: { {
services = { }; config,
pkgs,
...
}: {
services = {};
xsession = { enable = false; }; xsession = {enable = false;};
home.sessionVariables = { QT_QPA_PLATFORM = "wayland"; }; home.sessionVariables = {QT_QPA_PLATFORM = "wayland";};
home.packages = (with pkgs; [ gnome-usage gnome3.gnome-tweaks ]) home.packages =
(with pkgs; [gnome-usage gnome3.gnome-tweaks])
++ (with pkgs.gnomeExtensions; [ ++ (with pkgs.gnomeExtensions; [
caffeine caffeine
clipboard-indicator clipboard-indicator
@ -14,7 +19,7 @@
dconf.settings = { dconf.settings = {
"org/gnome/mutter" = { "org/gnome/mutter" = {
# https://github.com/NixOS/nixpkgs/issues/114514#issuecomment-1177709271 # https://github.com/NixOS/nixpkgs/issues/114514#issuecomment-1177709271
experimental-features = [ "scale-monitor-framebuffer" ]; experimental-features = ["scale-monitor-framebuffer"];
}; };
"org/gnome/shell" = { "org/gnome/shell" = {
disable-user-extensions = false; disable-user-extensions = false;

View file

@ -1,4 +1,10 @@
{ config, pkgs, inputs, system, ... }: { {
config,
pkgs,
inputs,
system,
...
}: {
home.packages = with pkgs; [ home.packages = with pkgs; [
(pass.withExtensions (ext: [ (pass.withExtensions (ext: [
ext.pass-otp ext.pass-otp
@ -16,7 +22,6 @@
bottom bottom
curl curl
dive dive
dmidecode
dnsutils dnsutils
docker-compose docker-compose
du-dust du-dust
@ -53,7 +58,6 @@
unzip unzip
wget wget
wl-clipboard wl-clipboard
xdotool inputs.nixpkgs-nixos-unstable.legacyPackages."${system}".yt-dlp
inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".yt-dlp
]; ];
} }

View file

@ -12,6 +12,7 @@
atop atop
btop btop
btrfs-progs btrfs-progs
dmidecode
glibcLocales glibcLocales
hsetroot hsetroot
lm_sensors lm_sensors
@ -24,5 +25,6 @@
topgrade topgrade
wirelesstools wirelesstools
woeusb woeusb
xdotool
]; ];
} }

View file

@ -1,11 +1,13 @@
{ config, pkgs, ... }: { {
config,
pkgs,
...
}: {
services = { services = {
kdeconnect.enable = true; kdeconnect.enable = true;
kdeconnect.indicator = true; kdeconnect.indicator = true;
}; };
home.packages = [ ]; home.packages = [];
dconf.settings = { }; dconf.settings = {};
} }