Compare commits
8 Commits
00315a990a
...
main
Author | SHA1 | Date | |
---|---|---|---|
0dba0b6943
|
|||
3b81fd3293
|
|||
09385d2e45
|
|||
b92b3e41f2
|
|||
6691dc2b53
|
|||
f194c9cfdc
|
|||
d5dce97512
|
|||
39b0bdf6e1
|
6
flake.lock
generated
6
flake.lock
generated
@@ -347,11 +347,11 @@
|
|||||||
},
|
},
|
||||||
"unstable": {
|
"unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754498491,
|
"lastModified": 1755615617,
|
||||||
"narHash": "sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs=",
|
"narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c2ae88e026f9525daf89587f3cbee584b92b6134",
|
"rev": "20075955deac2583bb12f07151c2df830ef346b4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@@ -108,4 +108,63 @@
|
|||||||
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.restic.backups = {
|
||||||
|
git-local = {
|
||||||
|
repository = "/mnt/hdd/restic/git";
|
||||||
|
passwordFile = config.sops.secrets.restic-password.path;
|
||||||
|
initialize = true;
|
||||||
|
paths = [ "/var/lib/gitea/repositories" "/var/backup/git" ];
|
||||||
|
backupPrepareCommand = ''
|
||||||
|
mkdir -p /var/backup/git
|
||||||
|
|
||||||
|
${pkgs.sudo}/bin/sudo ${pkgs.systemd}/bin/systemctl stop gitea
|
||||||
|
|
||||||
|
${pkgs.sudo}/bin/sudo -u postgres ${pkgs.postgresql}/bin/pg_dump \
|
||||||
|
--clean \
|
||||||
|
--if-exists \
|
||||||
|
--dbname=git > /var/backup/git/postgres.sql
|
||||||
|
'';
|
||||||
|
backupCleanupCommand = ''
|
||||||
|
${pkgs.sudo}/bin/sudo ${pkgs.systemd}/bin/systemctl start gitea
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
git-remote = {
|
||||||
|
repository = "rest:http://m1:8000/git";
|
||||||
|
passwordFile = config.sops.secrets.restic-password.path;
|
||||||
|
initialize = true;
|
||||||
|
paths = [ "/var/lib/gitea/repositories" "/var/backup/git" ];
|
||||||
|
backupPrepareCommand = ''
|
||||||
|
mkdir -p /var/backup/git
|
||||||
|
|
||||||
|
${pkgs.sudo}/bin/sudo ${pkgs.systemd}/bin/systemctl stop gitea
|
||||||
|
|
||||||
|
${pkgs.sudo}/bin/sudo -u postgres ${pkgs.postgresql}/bin/pg_dump \
|
||||||
|
--clean \
|
||||||
|
--if-exists \
|
||||||
|
--dbname=git > /var/backup/git/postgres.sql
|
||||||
|
'';
|
||||||
|
backupCleanupCommand = ''
|
||||||
|
${pkgs.sudo}/bin/sudo ${pkgs.systemd}/bin/systemctl start gitea
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs;
|
||||||
|
let
|
||||||
|
scripts = with pkgs; {
|
||||||
|
restore_git_pg = writeShellScriptBin "restore_git_pg" ''
|
||||||
|
${pkgs.sudo}/bin/sudo -u postgres psql --dbname=git < /var/backup/git/postgres.sql
|
||||||
|
'';
|
||||||
|
restore_git = writeShellScriptBin "restore_git" ''
|
||||||
|
${pkgs.sudo}/bin/sudo ${pkgs.systemd}/bin/systemctl stop gitea
|
||||||
|
|
||||||
|
${pkgs.sudo}/bin/sudo ${restic}/bin/restic -r /mnt/hdd/restic/git restore latest --target /
|
||||||
|
|
||||||
|
${scripts.restore_git_pg}/bin/restore_git_pg
|
||||||
|
|
||||||
|
${pkgs.sudo}/bin/sudo ${pkgs.systemd}/bin/systemctl start gitea
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in [ scripts.restore_git_pg scripts.restore_git ];
|
||||||
}
|
}
|
||||||
|
@@ -2,18 +2,40 @@
|
|||||||
{
|
{
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
(final: prev: {
|
(final: prev: let
|
||||||
wakapi = prev.wakapi.overrideAttrs (oldAttrs: rec {
|
version = "2.15.0";
|
||||||
|
in {
|
||||||
|
|
||||||
|
wakapi = (prev.buildGoModule.override { go = prev.go_1_25; }) {
|
||||||
|
pname = "wakapi";
|
||||||
|
version = version;
|
||||||
|
|
||||||
src = final.fetchFromGitHub {
|
src = final.fetchFromGitHub {
|
||||||
owner = "k2on";
|
owner = "k2on";
|
||||||
repo = "wakapi";
|
repo = "wakapi";
|
||||||
rev = "theming";
|
rev = "koon-fork";
|
||||||
# hash = "";
|
hash = "sha256-Gg2YXhPBoIVv+8yV5gz2NTCNFo8V9fNJxqjdkwo6Zf0=";
|
||||||
hash = "sha256-mbQ2cA9tbuDA5OXEP+qVfsrBC90budAzWE7x4oN6ypY=";
|
|
||||||
};
|
};
|
||||||
# vendorHash = final.lib.fakeHash;
|
|
||||||
vendorHash = "sha256-lb6u9NQbB3bizIRbCRaB7Ngv9T5mAYtSl+g13gL7VEU=";
|
vendorHash = "sha256-912x6LwitYXdjWpP75Xoc56JXadeLQZuESSyLoaJcU0=";
|
||||||
});
|
|
||||||
|
excludedPackages = [ "scripts" ];
|
||||||
|
|
||||||
|
postPatch = ''echo ${version} > version.txt'';
|
||||||
|
|
||||||
|
ldflags = [ "-s" "-w" ];
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
nixos = prev.nixosTests.wakapi;
|
||||||
|
updateScript = prev.nix-update-script { };
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = prev.wakapi.meta // {
|
||||||
|
version = version;
|
||||||
|
mainProgram = "wakapi";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@@ -5,7 +5,11 @@
|
|||||||
defaultSopsFile = ../../secrets/sops/host/ark/default.yaml;
|
defaultSopsFile = ../../secrets/sops/host/ark/default.yaml;
|
||||||
validateSopsFiles = false;
|
validateSopsFiles = false;
|
||||||
|
|
||||||
age.keyFile = "/var/lib/sops-nix/key.txt";
|
age.keyFile = if builtins.pathExists /var/lib/sops-nix/key.txt then
|
||||||
|
"/var/lib/sops-nix/key.txt"
|
||||||
|
else
|
||||||
|
"/home/admin/.config/sops/age/keys.txt" # temp decrypt key
|
||||||
|
;
|
||||||
|
|
||||||
secrets = {
|
secrets = {
|
||||||
"host_age_key" = {
|
"host_age_key" = {
|
||||||
|
@@ -1,4 +1,14 @@
|
|||||||
{ pkgs, config, pkgs-unstable, ... }: {
|
{ pkgs, config, pkgs-unstable, ... }:
|
||||||
|
let
|
||||||
|
openconnect-sso-src = builtins.fetchTree {
|
||||||
|
type = "github";
|
||||||
|
owner = "k2on";
|
||||||
|
repo = "openconnect-sso";
|
||||||
|
rev = "9d4f61e5c8ccca420ffa87d46c96c17d64fbfb0b";
|
||||||
|
narHash = "sha256-ENt4/+9Bll70+BkH0Scej02edLi9SNkvBfyvjxUv83w=";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../common/core/default.nix
|
../common/core/default.nix
|
||||||
@@ -49,22 +59,21 @@
|
|||||||
EDITOR = "nvim";
|
EDITOR = "nvim";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.wireshark.enable = true;
|
# programs.adb.enable = true;
|
||||||
programs.adb.enable = true;
|
|
||||||
|
|
||||||
programs.kdeconnect.enable = true;
|
programs.kdeconnect.enable = true;
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
vim
|
vim
|
||||||
git
|
git
|
||||||
wget
|
wget
|
||||||
|
file
|
||||||
|
just
|
||||||
|
|
||||||
# mpc
|
# mpc
|
||||||
gurk-rs
|
gurk-rs
|
||||||
libreoffice-qt
|
libreoffice-qt
|
||||||
# ncmpcpp
|
# ncmpcpp
|
||||||
|
|
||||||
brave
|
|
||||||
|
|
||||||
signal-desktop
|
signal-desktop
|
||||||
gnupg
|
gnupg
|
||||||
|
|
||||||
@@ -74,8 +83,6 @@
|
|||||||
pinentry-curses
|
pinentry-curses
|
||||||
pinentry-qt
|
pinentry-qt
|
||||||
|
|
||||||
zathura
|
|
||||||
|
|
||||||
fzf
|
fzf
|
||||||
ffmpeg
|
ffmpeg
|
||||||
ripgrep
|
ripgrep
|
||||||
@@ -86,6 +93,8 @@
|
|||||||
libqalculate
|
libqalculate
|
||||||
librespeed-cli
|
librespeed-cli
|
||||||
|
|
||||||
|
gparted
|
||||||
|
|
||||||
tea
|
tea
|
||||||
|
|
||||||
kubectl
|
kubectl
|
||||||
@@ -97,10 +106,28 @@
|
|||||||
gimp
|
gimp
|
||||||
inkscape
|
inkscape
|
||||||
|
|
||||||
wireshark
|
mysql-workbench
|
||||||
|
|
||||||
|
pkgs-unstable.brave
|
||||||
# arm support
|
# arm support
|
||||||
pkgs-unstable.sparrow
|
pkgs-unstable.sparrow
|
||||||
|
|
||||||
|
|
||||||
|
(writeShellScriptBin "radio" ''
|
||||||
|
list="
|
||||||
|
WIOP http://s4.yesstreaming.net:7119/;audio.mp3
|
||||||
|
FamilyAlter https://usa17.fastcast4u.com/proxy/roloffev?mp=/1
|
||||||
|
"
|
||||||
|
|
||||||
|
choice=$(echo "$list" | awk '{print $1}' | ${fzf}/bin/fzf)
|
||||||
|
|
||||||
|
if [[ -n "$choice" ]]; then
|
||||||
|
url=$(echo "$list" | awk -v name="$choice" '$1==name {print $2}')
|
||||||
|
${mpg123}/bin/mpg123 "$url"
|
||||||
|
fi
|
||||||
|
'')
|
||||||
|
|
||||||
|
(pkgs.callPackage "${openconnect-sso-src}/nix" {}).openconnect-sso
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
|
@@ -10,6 +10,7 @@
|
|||||||
./home/desktop.nix
|
./home/desktop.nix
|
||||||
./home/nvim.nix
|
./home/nvim.nix
|
||||||
./home/terminal.nix
|
./home/terminal.nix
|
||||||
|
./home/zathura.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.username = "max";
|
home.username = "max";
|
||||||
|
@@ -10,6 +10,7 @@ in
|
|||||||
userEmail = publicGitEmail;
|
userEmail = publicGitEmail;
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "main";
|
||||||
|
push.autoSetupRemote = true;
|
||||||
|
|
||||||
commit.gpgsign = true;
|
commit.gpgsign = true;
|
||||||
gpg.format = "ssh";
|
gpg.format = "ssh";
|
||||||
|
@@ -239,6 +239,7 @@
|
|||||||
wakatime.enable = true;
|
wakatime.enable = true;
|
||||||
autoclose.enable = true;
|
autoclose.enable = true;
|
||||||
ts-autotag.enable = true;
|
ts-autotag.enable = true;
|
||||||
|
bullets.enable = true;
|
||||||
spider = {
|
spider = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraOptions = {
|
extraOptions = {
|
||||||
|
10
host/max/home/zathura.nix
Normal file
10
host/max/home/zathura.nix
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{ ... }: {
|
||||||
|
programs.zathura = {
|
||||||
|
enable = true;
|
||||||
|
options = {
|
||||||
|
default-bg = "white";
|
||||||
|
font = "Monocraft";
|
||||||
|
selection-clipboard = "clipboard";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Reference in New Issue
Block a user