all: switch to nixpkgs-fmt
This commit is contained in:
parent
dcd0acbdd7
commit
a0228f4226
5
bin/fmt
5
bin/fmt
@ -2,11 +2,12 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
find . -name \*.nix -exec nix fmt -- -q {} \+
|
find . -name \*.nix -exec nix fmt {} \+
|
||||||
find . -name \*.sh -exec shfmt -w {} \+
|
find . -name \*.sh -exec shfmt -w {} \+
|
||||||
|
|
||||||
deadnix -f .
|
deadnix -f .
|
||||||
shfmt -w bin/deploy
|
shfmt -w bin/deploy
|
||||||
shfmt -w bin/mkboot
|
shfmt -w bin/mkboot
|
||||||
# TODO: https://github.com/nerdypepper/statix/issues/68
|
# TODO: https://github.com/nerdypepper/statix/issues/68
|
||||||
statix check --ignore lib/default.nix .
|
#statix check --ignore lib/default.nix .
|
||||||
|
statix check .
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{
|
{ pkgs
|
||||||
pkgs,
|
, isUnstable
|
||||||
isUnstable,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
gosignify = pkgs.callPackage ../pkgs/gosignify.nix { inherit isUnstable; };
|
gosignify = pkgs.callPackage ../pkgs/gosignify.nix { inherit isUnstable; };
|
||||||
|
|
||||||
ix = pkgs.writeScriptBin "ix" (import ./ix.nix { inherit (pkgs) perl; });
|
ix = pkgs.writeScriptBin "ix" (import ./ix.nix { inherit (pkgs) perl; });
|
||||||
@ -19,7 +19,8 @@
|
|||||||
inherit (pkgs) curl;
|
inherit (pkgs) curl;
|
||||||
});
|
});
|
||||||
genPatches = pkgs.callPackage ./gen-patches.nix { };
|
genPatches = pkgs.callPackage ./gen-patches.nix { };
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
checkRestart
|
checkRestart
|
||||||
genPatches
|
genPatches
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
{
|
{ writeShellApplication
|
||||||
writeShellApplication,
|
, diffutils
|
||||||
diffutils,
|
, findutils
|
||||||
findutils,
|
, coreutils
|
||||||
coreutils,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
genPatches = writeShellApplication {
|
genPatches = writeShellApplication {
|
||||||
name = "gen-patches";
|
name = "gen-patches";
|
||||||
runtimeInputs = [ diffutils findutils coreutils ];
|
runtimeInputs = [ diffutils findutils coreutils ];
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{ pkgs
|
||||||
pkgs,
|
, icbirc
|
||||||
icbirc,
|
,
|
||||||
}: ''
|
}: ''
|
||||||
#!${pkgs.yash}/bin/yash
|
#!${pkgs.yash}/bin/yash
|
||||||
${pkgs.procps}/bin/pkill icbirc
|
${pkgs.procps}/bin/pkill icbirc
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{pkgs}: let
|
{ pkgs }:
|
||||||
|
let
|
||||||
oathPkg = pkgs.oath-toolkit or pkgs.oathToolkit;
|
oathPkg = pkgs.oath-toolkit or pkgs.oathToolkit;
|
||||||
wlclip =
|
wlclip =
|
||||||
if pkgs.system == "aarch64-darwin"
|
if pkgs.system == "aarch64-darwin"
|
||||||
@ -8,7 +9,8 @@
|
|||||||
if pkgs.system == "aarch64-darwin"
|
if pkgs.system == "aarch64-darwin"
|
||||||
then "pbcopy"
|
then "pbcopy"
|
||||||
else "${pkgs.xclip}/bin/xclip";
|
else "${pkgs.xclip}/bin/xclip";
|
||||||
in ''
|
in
|
||||||
|
''
|
||||||
#!${pkgs.yash}/bin/yash
|
#!${pkgs.yash}/bin/yash
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, config
|
||||||
config,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
assert (builtins.length
|
assert (builtins.length
|
||||||
(lib.mapAttrsToList (a: _: a) config.services.restic.backups))
|
(lib.mapAttrsToList (a: _: a) config.services.restic.backups))
|
||||||
@ -10,7 +9,8 @@ assert (builtins.length
|
|||||||
resticBin = "${pkgs.restic}/bin/restic";
|
resticBin = "${pkgs.restic}/bin/restic";
|
||||||
cfg = config.services.restic.backups;
|
cfg = config.services.restic.backups;
|
||||||
bkp = lib.mapAttrs' (_: lib.nameValuePair "default") cfg;
|
bkp = lib.mapAttrs' (_: lib.nameValuePair "default") cfg;
|
||||||
in ''
|
in
|
||||||
|
''
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
14
bins/rpr.nix
14
bins/rpr.nix
@ -1,12 +1,14 @@
|
|||||||
{
|
{ tea
|
||||||
tea,
|
, gh
|
||||||
gh,
|
, hut
|
||||||
hut,
|
,
|
||||||
}: let
|
}:
|
||||||
|
let
|
||||||
teaBin = "${tea}/bin/tea";
|
teaBin = "${tea}/bin/tea";
|
||||||
ghBin = "${gh}/bin/gh";
|
ghBin = "${gh}/bin/gh";
|
||||||
htBin = "${hut}/bin/hut";
|
htBin = "${hut}/bin/hut";
|
||||||
in ''
|
in
|
||||||
|
''
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
set -eu
|
set -eu
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{ curl
|
||||||
curl,
|
, gosignify
|
||||||
gosignify,
|
,
|
||||||
}: ''
|
}: ''
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{tmux}: let
|
{ tmux }:
|
||||||
|
let
|
||||||
tmuxBin = "${tmux}/bin/tmux";
|
tmuxBin = "${tmux}/bin/tmux";
|
||||||
in ''
|
in
|
||||||
|
''
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
{
|
{ perl
|
||||||
perl,
|
, perlPackages
|
||||||
perlPackages,
|
, ...
|
||||||
...
|
|
||||||
}: ''
|
}: ''
|
||||||
#!${perl}/bin/perl
|
#!${perl}/bin/perl
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
cfg = config.services.xinCA;
|
cfg = config.services.xinCA;
|
||||||
in
|
in
|
||||||
with lib; {
|
with lib; {
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, inputs
|
||||||
inputs,
|
, xinlib
|
||||||
xinlib,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
#inherit (xinlib) prIsOpen;
|
#inherit (xinlib) prIsOpen;
|
||||||
jobs = [
|
jobs = [
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib; {
|
with lib; {
|
||||||
options = {
|
options = {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib; {
|
with lib; {
|
||||||
options = {
|
options = {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib; {
|
with lib; {
|
||||||
options = {
|
options = {
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
{
|
{ runCommand
|
||||||
runCommand,
|
, emacsWithPackagesFromUsePackage
|
||||||
emacsWithPackagesFromUsePackage,
|
, pkgs
|
||||||
pkgs,
|
, lib
|
||||||
lib,
|
, makeWrapper
|
||||||
makeWrapper,
|
, mu
|
||||||
mu,
|
, writeTextDir
|
||||||
writeTextDir,
|
, emacs
|
||||||
emacs,
|
, emacsPkg ? pkgs.emacsPgtkNativeComp
|
||||||
emacsPkg ? pkgs.emacsPgtkNativeComp,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
muDir = "${mu}/share/emacs/site-lisp/mu4e";
|
muDir = "${mu}/share/emacs/site-lisp/mu4e";
|
||||||
|
|
||||||
# Generate a .el file from our emacs.org.
|
# Generate a .el file from our emacs.org.
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{config, ...}: let
|
{ config, ... }:
|
||||||
|
let
|
||||||
rewriteGitHub =
|
rewriteGitHub =
|
||||||
if config.networking.hostName != "stan"
|
if config.networking.hostName != "stan"
|
||||||
then {
|
then {
|
||||||
@ -7,7 +8,8 @@
|
|||||||
else {
|
else {
|
||||||
url = { };
|
url = { };
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
lfs.enable = true;
|
lfs.enable = true;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{
|
{ pkgs
|
||||||
pkgs,
|
, linkFarm
|
||||||
linkFarm,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
tomlFmt = pkgs.formats.toml { };
|
tomlFmt = pkgs.formats.toml { };
|
||||||
helixBin = "${pkgs.helix}/bin/hx";
|
helixBin = "${pkgs.helix}/bin/hx";
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, inputs
|
||||||
inputs,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
microcaBin = "${pkgs.microca}/bin/microca";
|
microcaBin = "${pkgs.microca}/bin/microca";
|
||||||
microca = pkgs.writeScriptBin "microca" ''
|
microca = pkgs.writeScriptBin "microca" ''
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
|
@ -139,13 +139,11 @@ with pkgs; let
|
|||||||
parchment
|
parchment
|
||||||
vacme
|
vacme
|
||||||
];
|
];
|
||||||
myVimPackages =
|
myVimPackages = baseVimPackages;
|
||||||
if pkgs.system == "aarch64-linux"
|
in
|
||||||
then baseVimPackages
|
{
|
||||||
else baseVimPackages ++ [];
|
|
||||||
in {
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
alejandra
|
nixpkgs-fmt
|
||||||
elmPackages.elm
|
elmPackages.elm
|
||||||
elmPackages.elm-format
|
elmPackages.elm-format
|
||||||
elmPackages.elm-language-server
|
elmPackages.elm-language-server
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib; {
|
with lib; {
|
||||||
options = {
|
options = {
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib; {
|
with lib; {
|
||||||
options = {
|
options = {
|
||||||
@ -55,7 +54,8 @@ with lib; {
|
|||||||
|
|
||||||
environment.systemPackages = [ pkgs.zerotierone ];
|
environment.systemPackages = [ pkgs.zerotierone ];
|
||||||
|
|
||||||
networking.firewall.interfaces = listToAttrs (flatten (map (i: {
|
networking.firewall.interfaces = listToAttrs (flatten (map
|
||||||
|
(i: {
|
||||||
name = i;
|
name = i;
|
||||||
value = {
|
value = {
|
||||||
allowedUDPPorts = [ 12304 ];
|
allowedUDPPorts = [ 12304 ];
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, pkgs
|
||||||
pkgs,
|
, lib
|
||||||
lib,
|
, inputs
|
||||||
inputs,
|
, xinlib
|
||||||
xinlib,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
tailnetACLs = let
|
tailnetACLs =
|
||||||
|
let
|
||||||
acls = {
|
acls = {
|
||||||
hosts = {
|
hosts = {
|
||||||
europa = "100.92.31.80";
|
europa = "100.92.31.80";
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib; {
|
with lib; {
|
||||||
options = {
|
options = {
|
||||||
@ -21,7 +20,8 @@ with lib; {
|
|||||||
IdentitiesOnly yes
|
IdentitiesOnly yes
|
||||||
IdentityFile /root/.ssh/nix_remote
|
IdentityFile /root/.ssh/nix_remote
|
||||||
'';
|
'';
|
||||||
nix.buildMachines = [
|
nix = {
|
||||||
|
buildMachines = [
|
||||||
{
|
{
|
||||||
hostName = "pcake";
|
hostName = "pcake";
|
||||||
systems = [ "x86_64-linux" "aarch64-linux" ];
|
systems = [ "x86_64-linux" "aarch64-linux" ];
|
||||||
@ -32,9 +32,10 @@ with lib; {
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
nix.distributedBuilds = true;
|
distributedBuilds = true;
|
||||||
nix.extraOptions = ''
|
extraOptions = ''
|
||||||
builders-use-substitutes = true
|
builders-use-substitutes = true
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib; {
|
with lib; {
|
||||||
options = {
|
options = {
|
||||||
|
30
default.nix
30
default.nix
@ -1,12 +1,12 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, options
|
||||||
options,
|
, pkgs
|
||||||
pkgs,
|
, xinlib
|
||||||
xinlib,
|
, isUnstable
|
||||||
isUnstable,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
inherit (xinlib) todo;
|
inherit (xinlib) todo;
|
||||||
caPubKeys = builtins.concatStringsSep "\n" [
|
caPubKeys = builtins.concatStringsSep "\n" [
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC5xMSYMwu6rjjLe2UYs1YGCIBVs35E9db2qAjNltCVPG5UoctxCDXxIz0PMOJrBbfqZzP/6qPU1WAhdGNTZ5eXq/ftnhI+2xFfMg1uzpXZ9vjy8lUCfXIObtoEdZ9h/7OUCN/BnL0ySqsamkcUo8SAj6wXoNCdwk6oncfyTmhPnoW5tCWCS9p7Q/LuWpYGsvW5nFDSxteP7re6SUe10eftIkFAPNhKA2lsrvzMgjxhnXqwIr1qJeY0otcuYA4V5V09FmElbnOWVuy4Pt8SqV4N9ykkAUXZN1Pi7Q4JnCUifRJVWpKHLoJe0mqwMDJbGtt2Akn3EwiGhyaVjq2FFgBKAb7w8UAE8gob8n4+DOx4TQAXlmWviYij2Xh6CvepbamxlJMvVdWgqk53+u4e+/oOQQ9QTmQvAuecg9dSO3m7+hNHEf+0TXjuTNlk9KHRg4s7ZAI+2Stfo1tBrvEeE2fAF//Mw7zaLPKmEbMiXdbDs816gvYtG6Y36fTGyzhowDQAMNm+zbg8YPz7xFukLdSCPt7RcpPnP1iJs/hGBnog5UaG/Cm4ftkm9zKvOaQKIoA/GQ3yQSyltczA+2h5fur6VQQGrQeVhAcXm9a6GaLPWxgvJX/og76CHps0rYzFM3QBlsiJ+Z0sstk5TtBex9nTjwRZ1U9+4DQes2TB4/uxnQ== SUAH CA"
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC5xMSYMwu6rjjLe2UYs1YGCIBVs35E9db2qAjNltCVPG5UoctxCDXxIz0PMOJrBbfqZzP/6qPU1WAhdGNTZ5eXq/ftnhI+2xFfMg1uzpXZ9vjy8lUCfXIObtoEdZ9h/7OUCN/BnL0ySqsamkcUo8SAj6wXoNCdwk6oncfyTmhPnoW5tCWCS9p7Q/LuWpYGsvW5nFDSxteP7re6SUe10eftIkFAPNhKA2lsrvzMgjxhnXqwIr1qJeY0otcuYA4V5V09FmElbnOWVuy4Pt8SqV4N9ykkAUXZN1Pi7Q4JnCUifRJVWpKHLoJe0mqwMDJbGtt2Akn3EwiGhyaVjq2FFgBKAb7w8UAE8gob8n4+DOx4TQAXlmWviYij2Xh6CvepbamxlJMvVdWgqk53+u4e+/oOQQ9QTmQvAuecg9dSO3m7+hNHEf+0TXjuTNlk9KHRg4s7ZAI+2Stfo1tBrvEeE2fAF//Mw7zaLPKmEbMiXdbDs816gvYtG6Y36fTGyzhowDQAMNm+zbg8YPz7xFukLdSCPt7RcpPnP1iJs/hGBnog5UaG/Cm4ftkm9zKvOaQKIoA/GQ3yQSyltczA+2h5fur6VQQGrQeVhAcXm9a6GaLPWxgvJX/og76CHps0rYzFM3QBlsiJ+Z0sstk5TtBex9nTjwRZ1U9+4DQes2TB4/uxnQ== SUAH CA"
|
||||||
@ -18,7 +18,8 @@
|
|||||||
'';
|
'';
|
||||||
gosignify = pkgs.callPackage ./pkgs/gosignify.nix { inherit isUnstable; };
|
gosignify = pkgs.callPackage ./pkgs/gosignify.nix { inherit isUnstable; };
|
||||||
myOpenSSH = pkgs.callPackage ./pkgs/openssh { };
|
myOpenSSH = pkgs.callPackage ./pkgs/openssh { };
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./configs
|
./configs
|
||||||
./dbuild
|
./dbuild
|
||||||
@ -151,7 +152,9 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs;
|
environment = {
|
||||||
|
etc."ssh/ca.pub" = { text = caPubKeys; };
|
||||||
|
systemPackages = with pkgs;
|
||||||
[
|
[
|
||||||
age
|
age
|
||||||
apg
|
apg
|
||||||
@ -181,9 +184,10 @@ in {
|
|||||||
else [ ]
|
else [ ]
|
||||||
);
|
);
|
||||||
|
|
||||||
environment.interactiveShellInit = ''
|
interactiveShellInit = ''
|
||||||
alias vi=nvim
|
alias vi=nvim
|
||||||
'';
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
time.timeZone = "US/Mountain";
|
time.timeZone = "US/Mountain";
|
||||||
|
|
||||||
@ -216,8 +220,6 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.etc."ssh/ca.pub" = {text = caPubKeys;};
|
|
||||||
|
|
||||||
services.logrotate.checkConfig =
|
services.logrotate.checkConfig =
|
||||||
todo "logrotate disabled: https://github.com/NixOS/nix/issues/8502" false;
|
todo "logrotate disabled: https://github.com/NixOS/nix/issues/8502" false;
|
||||||
|
|
||||||
|
84
flake.nix
84
flake.nix
@ -80,24 +80,25 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs =
|
||||||
self,
|
{ self
|
||||||
darwin,
|
, darwin
|
||||||
gostart,
|
, gostart
|
||||||
nixos-hardware,
|
, nixos-hardware
|
||||||
peerix,
|
, peerix
|
||||||
po,
|
, po
|
||||||
pots,
|
, pots
|
||||||
pr-status,
|
, pr-status
|
||||||
stable,
|
, stable
|
||||||
tsRevProx,
|
, tsRevProx
|
||||||
tsvnstat,
|
, tsvnstat
|
||||||
unstable,
|
, unstable
|
||||||
unstableSmall,
|
, unstableSmall
|
||||||
xin-secrets,
|
, xin-secrets
|
||||||
xintray,
|
, xintray
|
||||||
...
|
, ...
|
||||||
} @ inputs: let
|
} @ inputs:
|
||||||
|
let
|
||||||
xinlib = import ./lib { inherit (unstable) lib; };
|
xinlib = import ./lib { inherit (unstable) lib; };
|
||||||
supportedSystems = [ "x86_64-linux" ];
|
supportedSystems = [ "x86_64-linux" ];
|
||||||
#[ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
|
#[ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
|
||||||
@ -148,9 +149,11 @@
|
|||||||
++ [
|
++ [
|
||||||
{
|
{
|
||||||
nix = {
|
nix = {
|
||||||
registry.nixpkgs.flake = sysBase;
|
registry = {
|
||||||
registry.stable.flake = stable;
|
nixpkgs.flake = sysBase;
|
||||||
registry.unstable.flake = unstable;
|
stable.flake = stable;
|
||||||
|
unstable.flake = unstable;
|
||||||
|
};
|
||||||
nixPath = [ "nixpkgs=${sysBase}" ];
|
nixPath = [ "nixpkgs=${sysBase}" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -160,7 +163,8 @@
|
|||||||
};
|
};
|
||||||
lpkgs = unstable.legacyPackages.x86_64-linux;
|
lpkgs = unstable.legacyPackages.x86_64-linux;
|
||||||
darwinPkgs = unstableSmall.legacyPackages.aarch64-darwin;
|
darwinPkgs = unstableSmall.legacyPackages.aarch64-darwin;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
darwinConfigurations = {
|
darwinConfigurations = {
|
||||||
plq = darwin.lib.darwinSystem {
|
plq = darwin.lib.darwinSystem {
|
||||||
system = "aarch64-darwin";
|
system = "aarch64-darwin";
|
||||||
@ -178,7 +182,8 @@
|
|||||||
# everything before deploying
|
# everything before deploying
|
||||||
legacyPackages.x86_64-linux = import unstable {
|
legacyPackages.x86_64-linux = import unstable {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
overlays = let
|
overlays =
|
||||||
|
let
|
||||||
overlayFn = import ./overlays;
|
overlayFn = import ./overlays;
|
||||||
stableList = overlayFn {
|
stableList = overlayFn {
|
||||||
isUnstable = true;
|
isUnstable = true;
|
||||||
@ -189,11 +194,11 @@
|
|||||||
inherit xinlib;
|
inherit xinlib;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
[] ++ stableList.nixpkgs.overlays ++ unstableList.nixpkgs.overlays;
|
stableList.nixpkgs.overlays ++ unstableList.nixpkgs.overlays;
|
||||||
};
|
};
|
||||||
|
|
||||||
formatter.x86_64-linux = stable.legacyPackages.x86_64-linux.alejandra;
|
formatter.x86_64-linux = stable.legacyPackages.x86_64-linux.nixpkgs-fmt;
|
||||||
formatter.aarch64-darwin = stable.legacyPackages.aarch64-darwin.alejandra;
|
formatter.aarch64-darwin = stable.legacyPackages.aarch64-darwin.nixpkgs-fmt;
|
||||||
|
|
||||||
devShells.x86_64-linux.default = xinlib.buildShell lpkgs;
|
devShells.x86_64-linux.default = xinlib.buildShell lpkgs;
|
||||||
devShells.aarch64-darwin.default = xinlib.buildShell darwinPkgs;
|
devShells.aarch64-darwin.default = xinlib.buildShell darwinPkgs;
|
||||||
@ -259,10 +264,12 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
packages = forAllSystems (system: let
|
packages = forAllSystems (system:
|
||||||
|
let
|
||||||
upkgs = unstablePkgsFor.${system};
|
upkgs = unstablePkgsFor.${system};
|
||||||
spkgs = stablePkgsFor.${system};
|
spkgs = stablePkgsFor.${system};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
ada_language_server =
|
ada_language_server =
|
||||||
spkgs.callPackage ./pkgs/ada_language_server.nix { inherit spkgs; };
|
spkgs.callPackage ./pkgs/ada_language_server.nix { inherit spkgs; };
|
||||||
alire = spkgs.callPackage ./pkgs/alire.nix { inherit spkgs; };
|
alire = spkgs.callPackage ./pkgs/alire.nix { inherit spkgs; };
|
||||||
@ -330,35 +337,40 @@
|
|||||||
inherit (spkgs) matrix-synapse;
|
inherit (spkgs) matrix-synapse;
|
||||||
});
|
});
|
||||||
|
|
||||||
templates."ada" = {
|
templates = {
|
||||||
|
"ada" = {
|
||||||
path = ./templates/ada;
|
path = ./templates/ada;
|
||||||
description = "Ada template.";
|
description = "Ada template.";
|
||||||
};
|
};
|
||||||
templates."go" = {
|
"go" = {
|
||||||
path = ./templates/go;
|
path = ./templates/go;
|
||||||
description = "Go template.";
|
description = "Go template.";
|
||||||
};
|
};
|
||||||
templates."perl" = {
|
"perl" = {
|
||||||
path = ./templates/perl;
|
path = ./templates/perl;
|
||||||
description = "Perl template.";
|
description = "Perl template.";
|
||||||
};
|
};
|
||||||
templates."mojo" = {
|
"mojo" = {
|
||||||
path = ./templates/mojo;
|
path = ./templates/mojo;
|
||||||
description = "Perl MojoLicious template.";
|
description = "Perl MojoLicious template.";
|
||||||
};
|
};
|
||||||
templates."ocaml" = {
|
"ocaml" = {
|
||||||
path = ./templates/ocaml;
|
path = ./templates/ocaml;
|
||||||
description = "OCaml template.";
|
description = "OCaml template.";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
checks = let
|
checks =
|
||||||
|
let
|
||||||
buildList = [ "europa" "stan" "h" "box" "faf" "weather" ];
|
buildList = [ "europa" "stan" "h" "box" "faf" "weather" ];
|
||||||
in
|
in
|
||||||
with unstable.lib;
|
with unstable.lib;
|
||||||
foldl' recursiveUpdate {} (mapAttrsToList (name: system: {
|
foldl' recursiveUpdate { } (mapAttrsToList
|
||||||
|
(name: system: {
|
||||||
"${system.pkgs.stdenv.hostPlatform.system}"."${name}" =
|
"${system.pkgs.stdenv.hostPlatform.system}"."${name}" =
|
||||||
system.config.system.build.toplevel;
|
system.config.system.build.toplevel;
|
||||||
}) (filterAttrs (n: _: (builtins.elem n buildList))
|
})
|
||||||
|
(filterAttrs (n: _: (builtins.elem n buildList))
|
||||||
self.nixosConfigurations));
|
self.nixosConfigurations));
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib; {
|
with lib; {
|
||||||
options = {
|
options = {
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, xinlib
|
||||||
xinlib,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
firefox = import ../configs/firefox.nix { inherit pkgs; };
|
firefox = import ../configs/firefox.nix { inherit pkgs; };
|
||||||
rage = pkgs.writeScriptBin "rage" (import ../bins/rage.nix { inherit pkgs; });
|
rage = pkgs.writeScriptBin "rage" (import ../bins/rage.nix { inherit pkgs; });
|
||||||
rpr =
|
rpr =
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib; {
|
with lib; {
|
||||||
options = { gnome = { enable = mkEnableOption "Enable GNOME desktop."; }; };
|
options = { gnome = { enable = mkEnableOption "Enable GNOME desktop."; }; };
|
||||||
|
15
gui/kde.nix
15
gui/kde.nix
@ -1,11 +1,12 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
inherit (pkgs.libsForQt5) callPackage;
|
inherit (pkgs.libsForQt5) callPackage;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options = { kde = { enable = lib.mkEnableOption "Enable KDE desktop."; }; };
|
options = { kde = { enable = lib.mkEnableOption "Enable KDE desktop."; }; };
|
||||||
|
|
||||||
config = lib.mkIf config.kde.enable {
|
config = lib.mkIf config.kde.enable {
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib; {
|
with lib; {
|
||||||
options = { xfce = { enable = mkEnableOption "Enable XFCE desktop."; }; };
|
options = { xfce = { enable = mkEnableOption "Enable XFCE desktop."; }; };
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{
|
{ inputs
|
||||||
inputs,
|
, config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, isUnstable
|
||||||
isUnstable,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
#photoPrismTag = "220901-bullseye";
|
#photoPrismTag = "220901-bullseye";
|
||||||
httpCacheTime = "720m";
|
httpCacheTime = "720m";
|
||||||
httpAllow = ''
|
httpAllow = ''
|
||||||
@ -44,7 +44,8 @@
|
|||||||
owner = config.users.users.nginx.name;
|
owner = config.users.users.nginx.name;
|
||||||
mode = "400";
|
mode = "400";
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
_module.args.isUnstable = false;
|
_module.args.isUnstable = false;
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
@ -67,39 +68,43 @@ in {
|
|||||||
};
|
};
|
||||||
"bitwarden_rs.env" = { sopsFile = config.xin-secrets.box.services; };
|
"bitwarden_rs.env" = { sopsFile = config.xin-secrets.box.services; };
|
||||||
"wireguard_private_key" = { sopsFile = config.xin-secrets.box.services; };
|
"wireguard_private_key" = { sopsFile = config.xin-secrets.box.services; };
|
||||||
|
|
||||||
|
books_cert = mkNginxSecret;
|
||||||
|
books_key = mkNginxSecret;
|
||||||
|
jelly_cert = mkNginxSecret;
|
||||||
|
jelly_key = mkNginxSecret;
|
||||||
|
lidarr_cert = mkNginxSecret;
|
||||||
|
lidarr_key = mkNginxSecret;
|
||||||
|
nzb_cert = mkNginxSecret;
|
||||||
|
nzb_key = mkNginxSecret;
|
||||||
|
prowlarr_cert = mkNginxSecret;
|
||||||
|
prowlarr_key = mkNginxSecret;
|
||||||
|
radarr_cert = mkNginxSecret;
|
||||||
|
radarr_key = mkNginxSecret;
|
||||||
|
reddit_cert = mkNginxSecret;
|
||||||
|
reddit_key = mkNginxSecret;
|
||||||
|
sonarr_cert = mkNginxSecret;
|
||||||
|
sonarr_key = mkNginxSecret;
|
||||||
|
graph_cert = mkNginxSecret;
|
||||||
|
graph_key = mkNginxSecret;
|
||||||
|
bw_cert = mkNginxSecret;
|
||||||
|
bw_key = mkNginxSecret;
|
||||||
|
invidious_cert = mkNginxSecret;
|
||||||
|
invidious_key = mkNginxSecret;
|
||||||
|
readarr_cert = mkNginxSecret;
|
||||||
|
readarr_key = mkNginxSecret;
|
||||||
|
home_cert = mkNginxSecret;
|
||||||
|
home_key = mkNginxSecret;
|
||||||
};
|
};
|
||||||
|
|
||||||
sops.secrets.books_cert = mkNginxSecret;
|
boot = {
|
||||||
sops.secrets.books_key = mkNginxSecret;
|
supportedFilesystems = [ "zfs" ];
|
||||||
sops.secrets.jelly_cert = mkNginxSecret;
|
loader = {
|
||||||
sops.secrets.jelly_key = mkNginxSecret;
|
grub.copyKernels = true;
|
||||||
sops.secrets.lidarr_cert = mkNginxSecret;
|
systemd-boot.enable = true;
|
||||||
sops.secrets.lidarr_key = mkNginxSecret;
|
efi.canTouchEfiVariables = true;
|
||||||
sops.secrets.nzb_cert = mkNginxSecret;
|
};
|
||||||
sops.secrets.nzb_key = mkNginxSecret;
|
};
|
||||||
sops.secrets.prowlarr_cert = mkNginxSecret;
|
|
||||||
sops.secrets.prowlarr_key = mkNginxSecret;
|
|
||||||
sops.secrets.radarr_cert = mkNginxSecret;
|
|
||||||
sops.secrets.radarr_key = mkNginxSecret;
|
|
||||||
sops.secrets.reddit_cert = mkNginxSecret;
|
|
||||||
sops.secrets.reddit_key = mkNginxSecret;
|
|
||||||
sops.secrets.sonarr_cert = mkNginxSecret;
|
|
||||||
sops.secrets.sonarr_key = mkNginxSecret;
|
|
||||||
sops.secrets.graph_cert = mkNginxSecret;
|
|
||||||
sops.secrets.graph_key = mkNginxSecret;
|
|
||||||
sops.secrets.bw_cert = mkNginxSecret;
|
|
||||||
sops.secrets.bw_key = mkNginxSecret;
|
|
||||||
sops.secrets.invidious_cert = mkNginxSecret;
|
|
||||||
sops.secrets.invidious_key = mkNginxSecret;
|
|
||||||
sops.secrets.readarr_cert = mkNginxSecret;
|
|
||||||
sops.secrets.readarr_key = mkNginxSecret;
|
|
||||||
sops.secrets.home_cert = mkNginxSecret;
|
|
||||||
sops.secrets.home_key = mkNginxSecret;
|
|
||||||
|
|
||||||
boot.supportedFilesystems = ["zfs"];
|
|
||||||
boot.loader.grub.copyKernels = true;
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
doas.enable = true;
|
doas.enable = true;
|
||||||
|
|
||||||
@ -200,21 +205,25 @@ in {
|
|||||||
defaults.email = "aaron@bolddaemon.com";
|
defaults.email = "aaron@bolddaemon.com";
|
||||||
};
|
};
|
||||||
|
|
||||||
users.groups.media = {
|
users = {
|
||||||
|
groups = {
|
||||||
|
media = {
|
||||||
name = "media";
|
name = "media";
|
||||||
members = [ "qbit" "sonarr" "radarr" "lidarr" "nzbget" "jellyfin" "headphones" "rtorrent" "readarr" ];
|
members = [ "qbit" "sonarr" "radarr" "lidarr" "nzbget" "jellyfin" "headphones" "rtorrent" "readarr" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
users.groups.photos = {
|
photos = {
|
||||||
name = "photos";
|
name = "photos";
|
||||||
members = [ "qbit" ];
|
members = [ "qbit" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
users.groups.photoprism = {
|
photoprism = {
|
||||||
name = "photoprism";
|
name = "photoprism";
|
||||||
gid = 986;
|
gid = 986;
|
||||||
};
|
};
|
||||||
users.users.photoprism = {
|
};
|
||||||
|
users = {
|
||||||
|
photoprism = {
|
||||||
uid = 991;
|
uid = 991;
|
||||||
name = "photoprism";
|
name = "photoprism";
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
@ -223,12 +232,7 @@ in {
|
|||||||
shell = "/bin/sh";
|
shell = "/bin/sh";
|
||||||
openssh.authorizedKeys.keys = pubKeys;
|
openssh.authorizedKeys.keys = pubKeys;
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.photoprism = {
|
|
||||||
serviceConfig = {
|
|
||||||
WorkingDirectory = lib.mkForce "/media/pictures/photoprism";
|
|
||||||
};
|
};
|
||||||
preStart = lib.mkForce "";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.rtl-sdr.enable = true;
|
hardware.rtl-sdr.enable = true;
|
||||||
@ -382,7 +386,8 @@ in {
|
|||||||
};
|
};
|
||||||
cron = {
|
cron = {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemCronJobs = let
|
systemCronJobs =
|
||||||
|
let
|
||||||
tsCertsScript = pkgs.writeScriptBin "ts-certs.sh" ''
|
tsCertsScript = pkgs.writeScriptBin "ts-certs.sh" ''
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
. /etc/profile;
|
. /etc/profile;
|
||||||
@ -396,7 +401,8 @@ in {
|
|||||||
chown nginx /etc/nixos/secrets/box.humpback-trout.ts.net.*
|
chown nginx /etc/nixos/secrets/box.humpback-trout.ts.net.*
|
||||||
) >/dev/null 2>&1
|
) >/dev/null 2>&1
|
||||||
'';
|
'';
|
||||||
in ["@daily root ${tsCertsScript}/bin/ts-certs.sh"];
|
in
|
||||||
|
[ "@daily root ${tsCertsScript}/bin/ts-certs.sh" ];
|
||||||
};
|
};
|
||||||
openssh = { settings.X11Forwarding = true; };
|
openssh = { settings.X11Forwarding = true; };
|
||||||
|
|
||||||
@ -1049,23 +1055,35 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.nginx.serviceConfig = {
|
systemd = {
|
||||||
|
services = {
|
||||||
|
photoprism = {
|
||||||
|
serviceConfig = {
|
||||||
|
WorkingDirectory = lib.mkForce "/media/pictures/photoprism";
|
||||||
|
};
|
||||||
|
preStart = lib.mkForce "";
|
||||||
|
};
|
||||||
|
|
||||||
|
nginx.serviceConfig = {
|
||||||
ReadWritePaths = [ "/backups/nginx_cache" ];
|
ReadWritePaths = [ "/backups/nginx_cache" ];
|
||||||
ReadOnlyPaths = [ "/etc/nixos/secrets" ];
|
ReadOnlyPaths = [ "/etc/nixos/secrets" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.gitea.environment = {
|
gitea.environment = {
|
||||||
GIT_CONFIG_NOGLOBAL = "true";
|
GIT_CONFIG_NOGLOBAL = "true";
|
||||||
GIT_CONFIG_NOSYSTEM = "true";
|
GIT_CONFIG_NOSYSTEM = "true";
|
||||||
};
|
};
|
||||||
|
#"nextcloud-setup" = {
|
||||||
#systemd.services."nextcloud-setup" = {
|
|
||||||
# requires = [ "postgresql.service" ];
|
# requires = [ "postgresql.service" ];
|
||||||
# after = [ "postgresql.service" ];
|
# after = [ "postgresql.service" ];
|
||||||
#};
|
#};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
users.users.qbit = userBase;
|
users.users = {
|
||||||
users.users.root = userBase;
|
qbit = userBase;
|
||||||
|
root = userBase;
|
||||||
|
};
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
|
|
||||||
|
@ -1,70 +1,76 @@
|
|||||||
{ ... }: {
|
{ ... }: {
|
||||||
boot.initrd.availableKernelModules = ["ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
|
boot = {
|
||||||
boot.initrd.kernelModules = [];
|
initrd = {
|
||||||
boot.kernelModules = ["kvm-intel" "wireguard"];
|
availableKernelModules = [ "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
boot.extraModulePackages = [];
|
kernelModules = [ ];
|
||||||
|
};
|
||||||
|
kernelModules = [ "kvm-intel" "wireguard" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
hardware.enableRedistributableFirmware = true;
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems = {
|
||||||
|
"/" = {
|
||||||
device = "/dev/disk/by-uuid/248dfcf7-999b-4dba-bfbf-0b10dbb376b1";
|
device = "/dev/disk/by-uuid/248dfcf7-999b-4dba-bfbf-0b10dbb376b1";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/home" = {
|
"/home" = {
|
||||||
device = "rpool/home";
|
device = "rpool/home";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/backups" = {
|
"/backups" = {
|
||||||
device = "rpool/backups";
|
device = "rpool/backups";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/media/music" = {
|
"/media/music" = {
|
||||||
device = "rpool/media/music";
|
device = "rpool/media/music";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/media/movies" = {
|
"/media/movies" = {
|
||||||
device = "rpool/media/movies";
|
device = "rpool/media/movies";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/media/pictures" = {
|
"/media/pictures" = {
|
||||||
device = "rpool/pictures";
|
device = "rpool/pictures";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/media/tv" = {
|
"/media/tv" = {
|
||||||
device = "rpool/media/tv";
|
device = "rpool/media/tv";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/media/nextcloud" = {
|
"/media/nextcloud" = {
|
||||||
device = "rpool/nextcloud";
|
device = "rpool/nextcloud";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/media/git" = {
|
"/media/git" = {
|
||||||
device = "rpool/git";
|
device = "rpool/git";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/media/downloads" = {
|
"/media/downloads" = {
|
||||||
device = "rpool/downloads";
|
device = "rpool/downloads";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/db/postgres" = {
|
"/db/postgres" = {
|
||||||
device = "rpool/db/postgres";
|
device = "rpool/db/postgres";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
"/boot" = {
|
||||||
device = "/dev/disk/by-uuid/2AC3-DB6C";
|
device = "/dev/disk/by-uuid/2AC3-DB6C";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
swapDevices = [{ device = "/dev/disk/by-uuid/97d6ef56-ea18-493b-aac0-e58e773ced30"; }];
|
swapDevices = [{ device = "/dev/disk/by-uuid/97d6ef56-ea18-493b-aac0-e58e773ced30"; }];
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{
|
{ inputs
|
||||||
inputs,
|
, config
|
||||||
config,
|
, pkgs
|
||||||
pkgs,
|
, lib
|
||||||
lib,
|
, xinlib
|
||||||
xinlib,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
inherit (inputs.stable.legacyPackages.${pkgs.system}) chirp;
|
inherit (inputs.stable.legacyPackages.${pkgs.system}) chirp;
|
||||||
restic = pkgs.writeScriptBin "restic" (import ../../bins/restic.nix {
|
restic = pkgs.writeScriptBin "restic" (import ../../bins/restic.nix {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
@ -40,7 +40,8 @@
|
|||||||
path = [ pkgs.taskobs ] ++ pkgs.taskobs.buildInputs;
|
path = [ pkgs.taskobs ] ++ pkgs.taskobs.buildInputs;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
_module.args.isUnstable = true;
|
_module.args.isUnstable = true;
|
||||||
|
|
||||||
imports = [ ./hardware-configuration.nix ../../pkgs ../../configs/neomutt.nix ];
|
imports = [ ./hardware-configuration.nix ../../pkgs ../../configs/neomutt.nix ];
|
||||||
@ -231,9 +232,10 @@ in {
|
|||||||
''
|
''
|
||||||
];
|
];
|
||||||
|
|
||||||
systemd.user.services =
|
systemd = {
|
||||||
|
user.services =
|
||||||
lib.listToAttrs (builtins.map xinlib.jobToUserService jobs);
|
lib.listToAttrs (builtins.map xinlib.jobToUserService jobs);
|
||||||
systemd.services."whytailscalewhy" = {
|
services."whytailscalewhy" = {
|
||||||
description = "Tailscale restart on resume";
|
description = "Tailscale restart on resume";
|
||||||
wantedBy = [ "post-resume.target" ];
|
wantedBy = [ "post-resume.target" ];
|
||||||
after = [ "post-resume.target" ];
|
after = [ "post-resume.target" ];
|
||||||
@ -243,6 +245,7 @@ in {
|
|||||||
'';
|
'';
|
||||||
serviceConfig.Type = "oneshot";
|
serviceConfig.Type = "oneshot";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
virtualisation.docker.enable = false;
|
virtualisation.docker.enable = false;
|
||||||
users.users.qbit.extraGroups = [
|
users.users.qbit.extraGroups = [
|
||||||
@ -358,7 +361,9 @@ in {
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
system.autoUpgrade.allowReboot = false;
|
system = {
|
||||||
system.autoUpgrade.enable = false;
|
autoUpgrade.allowReboot = false;
|
||||||
system.stateVersion = "21.11";
|
autoUpgrade.enable = false;
|
||||||
|
stateVersion = "21.11";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,15 +1,18 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, modulesPath
|
||||||
modulesPath,
|
, ...
|
||||||
...
|
|
||||||
}: {
|
}: {
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "usbhid" "sd_mod"];
|
boot = {
|
||||||
boot.initrd.kernelModules = [];
|
initrd = {
|
||||||
boot.kernelModules = ["kvm-intel"];
|
availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "usbhid" "sd_mod" ];
|
||||||
boot.extraModulePackages = [];
|
kernelModules = [ ];
|
||||||
|
};
|
||||||
|
kernelModules = [ "kvm-intel" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
"/" = {
|
"/" = {
|
||||||
|
@ -1,19 +1,25 @@
|
|||||||
{config, ...}: let
|
{ config, ... }:
|
||||||
|
let
|
||||||
pubKeys = [
|
pubKeys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIPMaAm4rDxyU975Z54YiNw3itC2fGc3SaE2VaS1fai8 root@box"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIPMaAm4rDxyU975Z54YiNw3itC2fGc3SaE2VaS1fai8 root@box"
|
||||||
];
|
];
|
||||||
userBase = {
|
userBase = {
|
||||||
openssh.authorizedKeys.keys = pubKeys ++ config.myconf.managementPubKeys;
|
openssh.authorizedKeys.keys = pubKeys ++ config.myconf.managementPubKeys;
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
_module.args.isUnstable = false;
|
_module.args.isUnstable = false;
|
||||||
imports = [ ./hardware-configuration.nix ];
|
imports = [ ./hardware-configuration.nix ];
|
||||||
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot = {
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
loader = {
|
||||||
|
systemd-boot.enable = true;
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
|
||||||
boot.supportedFilesystems = ["zfs"];
|
supportedFilesystems = [ "zfs" ];
|
||||||
boot.zfs.devNodes = "/dev/";
|
zfs.devNodes = "/dev/";
|
||||||
|
};
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "faf";
|
hostName = "faf";
|
||||||
@ -23,13 +29,17 @@ in {
|
|||||||
interfaces.enp1s0.useDHCP = true;
|
interfaces.enp1s0.useDHCP = true;
|
||||||
interfaces.enp2s0.useDHCP = true;
|
interfaces.enp2s0.useDHCP = true;
|
||||||
|
|
||||||
firewall.allowedTCPPorts = [22 53 config.services.prometheus.exporters.node.port];
|
firewall = {
|
||||||
firewall.allowedUDPPorts = [53];
|
allowedTCPPorts = [ 22 53 config.services.prometheus.exporters.node.port ];
|
||||||
|
allowedUDPPorts = [ 53 ];
|
||||||
|
};
|
||||||
hosts = { "100.122.61.43" = [ "nix-binary-cache.humpback-trout.ts.net" ]; };
|
hosts = { "100.122.61.43" = [ "nix-binary-cache.humpback-trout.ts.net" ]; };
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.root = userBase;
|
users.users = {
|
||||||
users.users.qbit = userBase;
|
root = userBase;
|
||||||
|
qbit = userBase;
|
||||||
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
prometheus = {
|
prometheus = {
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, modulesPath
|
||||||
modulesPath,
|
, ...
|
||||||
...
|
|
||||||
}: {
|
}: {
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot = {
|
||||||
|
initrd.availableKernelModules = [
|
||||||
"uhci_hcd"
|
"uhci_hcd"
|
||||||
"ehci_pci"
|
"ehci_pci"
|
||||||
"ahci"
|
"ahci"
|
||||||
@ -19,54 +19,57 @@
|
|||||||
"usbhid"
|
"usbhid"
|
||||||
"sd_mod"
|
"sd_mod"
|
||||||
];
|
];
|
||||||
boot.initrd.kernelModules = [];
|
initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [];
|
kernelModules = [ ];
|
||||||
boot.extraModulePackages = [];
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems = {
|
||||||
|
"/" = {
|
||||||
device = "tank/nixos";
|
device = "tank/nixos";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/nix" = {
|
"/nix" = {
|
||||||
device = "tank/nixos/nix";
|
device = "tank/nixos/nix";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/etc" = {
|
"/etc" = {
|
||||||
device = "tank/nixos/etc";
|
device = "tank/nixos/etc";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/var" = {
|
"/var" = {
|
||||||
device = "tank/nixos/var";
|
device = "tank/nixos/var";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/var/lib" = {
|
"/var/lib" = {
|
||||||
device = "tank/nixos/var/lib";
|
device = "tank/nixos/var/lib";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/var/log" = {
|
"/var/log" = {
|
||||||
device = "tank/nixos/var/log";
|
device = "tank/nixos/var/log";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/var/spool" = {
|
"/var/spool" = {
|
||||||
device = "tank/nixos/var/spool";
|
device = "tank/nixos/var/spool";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/home" = {
|
"/home" = {
|
||||||
device = "tank/userdata/home";
|
device = "tank/userdata/home";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
"/boot" = {
|
||||||
device = "/dev/disk/by-uuid/5851-DEF2";
|
device = "/dev/disk/by-uuid/5851-DEF2";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, pkgs
|
||||||
pkgs,
|
, isUnstable
|
||||||
isUnstable,
|
, inputs
|
||||||
inputs,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with pkgs; let
|
with pkgs; let
|
||||||
restic = pkgs.writeScriptBin "restic" (import ../../bins/restic.nix {
|
restic = pkgs.writeScriptBin "restic" (import ../../bins/restic.nix {
|
||||||
@ -61,17 +60,22 @@ with pkgs; let
|
|||||||
proxyWebsockets = true;
|
proxyWebsockets = true;
|
||||||
proxyPass = "http://${mtxCfg.address}:${toString mtxCfg.port}";
|
proxyPass = "http://${mtxCfg.address}:${toString mtxCfg.port}";
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
_module.args.isUnstable = false;
|
_module.args.isUnstable = false;
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.loader.grub.enable = true;
|
boot = {
|
||||||
boot.loader.grub.device = "/dev/sda";
|
loader.grub = {
|
||||||
boot.loader.grub.configurationLimit = 15;
|
enable = true;
|
||||||
|
device = "/dev/sda";
|
||||||
|
configurationLimit = 15;
|
||||||
|
};
|
||||||
|
|
||||||
boot.kernelParams = ["net.ifnames=0"];
|
kernelParams = [ "net.ifnames=0" ];
|
||||||
|
};
|
||||||
|
|
||||||
tailscale.sshOnly = true;
|
tailscale.sshOnly = true;
|
||||||
|
|
||||||
@ -231,16 +235,21 @@ in {
|
|||||||
defaults.email = "aaron@bolddaemon.com";
|
defaults.email = "aaron@bolddaemon.com";
|
||||||
};
|
};
|
||||||
|
|
||||||
users.groups.mcchunkie = {};
|
users = {
|
||||||
|
users = {
|
||||||
users.users.mcchunkie = {
|
qbit = userBase;
|
||||||
|
mcchunkie = {
|
||||||
createHome = true;
|
createHome = true;
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
home = "/var/lib/mcchunkie";
|
home = "/var/lib/mcchunkie";
|
||||||
group = "mcchunkie";
|
group = "mcchunkie";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
groups.mcchunkie = { };
|
||||||
|
};
|
||||||
|
|
||||||
systemd.services.icb-tunnel = {
|
systemd.services = {
|
||||||
|
icb-tunnel = {
|
||||||
wantedBy = [ "network.target" ];
|
wantedBy = [ "network.target" ];
|
||||||
after = [ "network.target" "multi-user.target" ];
|
after = [ "network.target" "multi-user.target" ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
@ -250,7 +259,7 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.mcchunkie = {
|
mcchunkie = {
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
User = "mcchunkie";
|
User = "mcchunkie";
|
||||||
@ -260,6 +269,7 @@ in {
|
|||||||
ExecStart = "${mcchunkie}/bin/mcchunkie";
|
ExecStart = "${mcchunkie}/bin/mcchunkie";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
veilid-server = {
|
veilid-server = {
|
||||||
@ -569,17 +579,19 @@ in {
|
|||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
|
|
||||||
locations."/" = {
|
locations = {
|
||||||
|
"/" = {
|
||||||
proxyPass = "http://192.168.112.4:8222";
|
proxyPass = "http://192.168.112.4:8222";
|
||||||
proxyWebsockets = true;
|
proxyWebsockets = true;
|
||||||
};
|
};
|
||||||
locations."/admin" = {
|
"/admin" = {
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
${httpAllow}
|
${httpAllow}
|
||||||
deny all;
|
deny all;
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
"suah.dev" = {
|
"suah.dev" = {
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
@ -728,29 +740,33 @@ in {
|
|||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
root = "/var/www/tapenet.org";
|
root = "/var/www/tapenet.org";
|
||||||
locations."/.well-known/matrix/client".extraConfig =
|
locations = {
|
||||||
|
"/.well-known/matrix/client".extraConfig =
|
||||||
mkMatrixWellKnown matrixClientConfig;
|
mkMatrixWellKnown matrixClientConfig;
|
||||||
locations."/.well-known/matrix/server".extraConfig =
|
"/.well-known/matrix/server".extraConfig =
|
||||||
mkMatrixWellKnown matrixServerConfig;
|
mkMatrixWellKnown matrixServerConfig;
|
||||||
|
|
||||||
locations."/client" = mkMatrixSliderLoc;
|
"/client" = mkMatrixSliderLoc;
|
||||||
locations."/_matrix/client/unstable/org.matrix.msc3575/sync" =
|
"/_matrix/client/unstable/org.matrix.msc3575/sync" =
|
||||||
mkMatrixSliderLoc;
|
mkMatrixSliderLoc;
|
||||||
|
|
||||||
locations."/_matrix" = mkMatrixLoc;
|
"/_matrix" = mkMatrixLoc;
|
||||||
locations."/_synapse/client" = mkMatrixLoc;
|
"/_synapse/client" = mkMatrixLoc;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
root = "/var/www/tapenet.org";
|
root = "/var/www/tapenet.org";
|
||||||
locations."/.well-known/matrix/client".extraConfig =
|
locations = {
|
||||||
|
"/.well-known/matrix/client".extraConfig =
|
||||||
mkMatrixWellKnown matrixClientConfig;
|
mkMatrixWellKnown matrixClientConfig;
|
||||||
locations."/.well-known/matrix/server".extraConfig =
|
"/.well-known/matrix/server".extraConfig =
|
||||||
mkMatrixWellKnown matrixServerConfig;
|
mkMatrixWellKnown matrixServerConfig;
|
||||||
|
|
||||||
locations."/_matrix" = mkMatrixLoc;
|
"/_matrix" = mkMatrixLoc;
|
||||||
locations."/_synapse/client" = mkMatrixLoc;
|
"/_synapse/client" = mkMatrixLoc;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -884,7 +900,6 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.qbit = userBase;
|
|
||||||
|
|
||||||
system.stateVersion = "22.11";
|
system.stateVersion = "22.11";
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,21 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, modulesPath
|
||||||
modulesPath,
|
, ...
|
||||||
...
|
|
||||||
}: {
|
}: {
|
||||||
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
|
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "sd_mod"];
|
boot = {
|
||||||
boot.initrd.kernelModules = [];
|
initrd = {
|
||||||
boot.kernelModules = ["wireguard"];
|
availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sd_mod" ];
|
||||||
boot.extraModulePackages = [];
|
kernelModules = [ ];
|
||||||
|
};
|
||||||
|
kernelModules = [ "wireguard" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-uuid/b3caa6ff-5610-4ae2-999d-f8f0b1599c4f";
|
device = "/dev/disk/by-uuid/b3caa6ff-5610-4ae2-999d-f8f0b1599c4f";
|
||||||
|
@ -1,22 +1,28 @@
|
|||||||
{...}: let
|
{ ... }:
|
||||||
|
let
|
||||||
pubKeys = [
|
pubKeys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIPMaAm4rDxyU975Z54YiNw3itC2fGc3SaE2VaS1fai8 root@box"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIPMaAm4rDxyU975Z54YiNw3itC2fGc3SaE2VaS1fai8 root@box"
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILnaC1v+VoVNnK04D32H+euiCyWPXU8nX6w+4UoFfjA3 qbit@plq"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILnaC1v+VoVNnK04D32H+euiCyWPXU8nX6w+4UoFfjA3 qbit@plq"
|
||||||
];
|
];
|
||||||
userBase = { openssh.authorizedKeys.keys = pubKeys; };
|
userBase = { openssh.authorizedKeys.keys = pubKeys; };
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
_module.args.isUnstable = false;
|
_module.args.isUnstable = false;
|
||||||
imports = [ ./hardware-configuration.nix ];
|
imports = [ ./hardware-configuration.nix ];
|
||||||
|
|
||||||
boot.loader.grub.enable = true;
|
boot.loader.grub = {
|
||||||
boot.loader.grub.device = "/dev/sdb";
|
enable = true;
|
||||||
boot.loader.grub.useOSProber = true;
|
device = "/dev/sdb";
|
||||||
|
useOSProber = true;
|
||||||
|
};
|
||||||
|
|
||||||
# The moon based shipyard
|
# The moon based shipyard
|
||||||
networking.hostName = "luna";
|
networking = {
|
||||||
|
hostName = "luna";
|
||||||
|
|
||||||
networking.networkmanager.enable = true;
|
networkmanager.enable = true;
|
||||||
networking.firewall.allowedTCPPorts = [22];
|
firewall.allowedTCPPorts = [ 22 ];
|
||||||
|
};
|
||||||
|
|
||||||
environment.systemPackages = [ ];
|
environment.systemPackages = [ ];
|
||||||
|
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, modulesPath
|
||||||
modulesPath,
|
, ...
|
||||||
...
|
|
||||||
}: {
|
}: {
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot = {
|
||||||
|
initrd = {
|
||||||
|
availableKernelModules = [
|
||||||
"uhci_hcd"
|
"uhci_hcd"
|
||||||
"ehci_pci"
|
"ehci_pci"
|
||||||
"ata_piix"
|
"ata_piix"
|
||||||
@ -16,9 +17,11 @@
|
|||||||
"sd_mod"
|
"sd_mod"
|
||||||
"sr_mod"
|
"sr_mod"
|
||||||
];
|
];
|
||||||
boot.initrd.kernelModules = [];
|
kernelModules = [ ];
|
||||||
boot.kernelModules = ["kvm-intel"];
|
};
|
||||||
boot.extraModulePackages = [];
|
kernelModules = [ "kvm-intel" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-uuid/caa1051c-f7c3-4809-9a63-b3908de9c27c";
|
device = "/dev/disk/by-uuid/caa1051c-f7c3-4809-9a63-b3908de9c27c";
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
{
|
{ pkgs
|
||||||
pkgs,
|
, lib
|
||||||
lib,
|
, isUnstable
|
||||||
isUnstable,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
secretAgent = "Contents/Library/LoginItems/SecretAgent.app/Contents/MacOS/SecretAgent";
|
secretAgent = "Contents/Library/LoginItems/SecretAgent.app/Contents/MacOS/SecretAgent";
|
||||||
rage =
|
rage =
|
||||||
pkgs.writeScriptBin "rage" (import ../../bins/rage.nix { inherit pkgs; });
|
pkgs.writeScriptBin "rage" (import ../../bins/rage.nix { inherit pkgs; });
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
_module.args.isUnstable = false;
|
_module.args.isUnstable = false;
|
||||||
imports = [ ../../configs/tmux.nix ../../configs/zsh.nix ../../bins ];
|
imports = [ ../../configs/tmux.nix ../../configs/zsh.nix ../../bins ];
|
||||||
|
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
{
|
{ pkgs
|
||||||
pkgs,
|
, config
|
||||||
config,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
#myEmacs = pkgs.callPackage ../../configs/emacs.nix { };
|
#myEmacs = pkgs.callPackage ../../configs/emacs.nix { };
|
||||||
pubKeys = [
|
pubKeys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7v+/xS8832iMqJHCWsxUZ8zYoMWoZhjj++e26g1fLT europa"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7v+/xS8832iMqJHCWsxUZ8zYoMWoZhjj++e26g1fLT europa"
|
||||||
];
|
];
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
_module.args.isUnstable = false;
|
_module.args.isUnstable = false;
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
@ -16,12 +17,18 @@ in {
|
|||||||
hardware.rtl-sdr.enable = true;
|
hardware.rtl-sdr.enable = true;
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot = {
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
loader = {
|
||||||
boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
systemd-boot.enable = true;
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
efi = {
|
||||||
|
canTouchEfiVariables = true;
|
||||||
|
efiSysMountPoint = "/boot/efi";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
boot.binfmt.emulatedSystems = ["aarch64-linux" "riscv64-linux"];
|
binfmt.emulatedSystems = [ "aarch64-linux" "riscv64-linux" ];
|
||||||
|
};
|
||||||
nixpkgs.config.allowUnsupportedSystem = true;
|
nixpkgs.config.allowUnsupportedSystem = true;
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
@ -46,8 +53,6 @@ in {
|
|||||||
PATH = [ "\${XDG_BIN_HOME}" ];
|
PATH = [ "\${XDG_BIN_HOME}" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.qbit.extraGroups = ["dialout" "libvirtd" "docker" "plugdev"];
|
|
||||||
|
|
||||||
#nixpkgs.config.allowUnfree = true;
|
#nixpkgs.config.allowUnfree = true;
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
rtl-sdr
|
rtl-sdr
|
||||||
@ -116,8 +121,15 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.root = {openssh.authorizedKeys.keys = pubKeys;};
|
users = {
|
||||||
users.users.qbit = {openssh.authorizedKeys.keys = pubKeys;};
|
users = {
|
||||||
|
root = { openssh.authorizedKeys.keys = pubKeys; };
|
||||||
|
qbit = {
|
||||||
|
openssh.authorizedKeys.keys = pubKeys;
|
||||||
|
extraGroups = [ "dialout" "libvirtd" "docker" "plugdev" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
system.stateVersion = "22.11";
|
system.stateVersion = "22.11";
|
||||||
}
|
}
|
||||||
|
@ -1,28 +1,31 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, modulesPath
|
||||||
modulesPath,
|
, ...
|
||||||
...
|
|
||||||
}: {
|
}: {
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
|
boot = {
|
||||||
boot.initrd.kernelModules = [];
|
initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
boot.kernelModules = ["kvm-amd"];
|
initrd.kernelModules = [ ];
|
||||||
boot.extraModulePackages = [];
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems = {
|
||||||
|
"/" = {
|
||||||
device = "/dev/disk/by-uuid/dd7f2225-4c7a-4f40-8452-0aebf1a75aec";
|
device = "/dev/disk/by-uuid/dd7f2225-4c7a-4f40-8452-0aebf1a75aec";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot/efi" = {
|
"/boot/efi" = {
|
||||||
device = "/dev/disk/by-uuid/2079-D1CE";
|
device = "/dev/disk/by-uuid/2079-D1CE";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
swapDevices = [{ device = "/dev/disk/by-uuid/e14ac85b-d7b0-4a76-b9ab-a2c61fd67a5d"; }];
|
swapDevices = [{ device = "/dev/disk/by-uuid/e14ac85b-d7b0-4a76-b9ab-a2c61fd67a5d"; }];
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, pkgs
|
||||||
pkgs,
|
, lib
|
||||||
lib,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
inherit
|
inherit
|
||||||
(builtins)
|
(builtins)
|
||||||
head
|
head
|
||||||
@ -299,7 +299,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
_module.args.isUnstable = false;
|
_module.args.isUnstable = false;
|
||||||
imports = [ ./hardware-configuration.nix ../../modules/tsvnstat.nix ];
|
imports = [ ./hardware-configuration.nix ../../modules/tsvnstat.nix ];
|
||||||
|
|
||||||
|
@ -1,22 +1,27 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, modulesPath
|
||||||
modulesPath,
|
, ...
|
||||||
...
|
|
||||||
}: {
|
}: {
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
|
||||||
boot.loader.grub.enable = true;
|
boot.loader.grub = {
|
||||||
boot.loader.grub.device = "/dev/sda";
|
enable = true;
|
||||||
boot.loader.grub.useOSProber = true;
|
device = "/dev/sda";
|
||||||
|
useOSProber = true;
|
||||||
|
};
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["ehci_pci" "ahci" "xhci_pci" "usb_storage" "usbhid" "sd_mod"];
|
boot = {
|
||||||
boot.initrd.kernelModules = [];
|
initrd = {
|
||||||
boot.kernelModules = ["nf_tables" "nf_tables_ipv6" "nf_conntrack_tftp"];
|
availableKernelModules = [ "ehci_pci" "ahci" "xhci_pci" "usb_storage" "usbhid" "sd_mod" ];
|
||||||
boot.extraModulePackages = [];
|
kernelModules = [ ];
|
||||||
|
};
|
||||||
|
kernelModules = [ "nf_tables" "nf_tables_ipv6" "nf_conntrack_tftp" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-uuid/4c84fd36-f143-4db8-bfe5-65de0287f894";
|
device = "/dev/disk/by-uuid/4c84fd36-f143-4db8-bfe5-65de0287f894";
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, inputs
|
||||||
inputs,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
pubKeys = [
|
pubKeys = [
|
||||||
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBB/V8N5fqlSGgRCtLJMLDJ8Hd3JcJcY8skI0l+byLNRgQLZfTQRxlZ1yymRs36rXj+ASTnyw5ZDv+q2aXP7Lj0= hosts@secretive.plq.local"
|
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBB/V8N5fqlSGgRCtLJMLDJ8Hd3JcJcY8skI0l+byLNRgQLZfTQRxlZ1yymRs36rXj+ASTnyw5ZDv+q2aXP7Lj0= hosts@secretive.plq.local"
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7v+/xS8832iMqJHCWsxUZ8zYoMWoZhjj++e26g1fLT europa"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7v+/xS8832iMqJHCWsxUZ8zYoMWoZhjj++e26g1fLT europa"
|
||||||
@ -20,7 +20,8 @@
|
|||||||
doom-emacs = inputs.nix-doom-emacs.packages.${pkgs.system}.default.override {
|
doom-emacs = inputs.nix-doom-emacs.packages.${pkgs.system}.default.override {
|
||||||
doomPrivateDir = ../../configs/doom.d;
|
doomPrivateDir = ../../configs/doom.d;
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
_module.args.isUnstable = true;
|
_module.args.isUnstable = true;
|
||||||
imports = [ ./hardware-configuration.nix ];
|
imports = [ ./hardware-configuration.nix ];
|
||||||
|
|
||||||
@ -189,11 +190,13 @@ in {
|
|||||||
|
|
||||||
virtualisation.libvirtd.enable = true;
|
virtualisation.libvirtd.enable = true;
|
||||||
|
|
||||||
programs.git.config.safe.directory = "/home/abieber/aef100";
|
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
git.config.safe.directory = "/home/abieber/aef100";
|
||||||
dconf.enable = true;
|
dconf.enable = true;
|
||||||
zsh.enable = true;
|
zsh.enable = true;
|
||||||
|
ssh.knownHosts = {
|
||||||
|
"[192.168.122.249]:7022".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAOzf2Rv6FZYuH758TlNBcq4CXAHTPJxe5qoQTRM3nRc";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
tsPeerix = {
|
tsPeerix = {
|
||||||
@ -213,9 +216,6 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.ssh.knownHosts = {
|
|
||||||
"[192.168.122.249]:7022".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAOzf2Rv6FZYuH758TlNBcq4CXAHTPJxe5qoQTRM3nRc";
|
|
||||||
};
|
|
||||||
|
|
||||||
system.autoUpgrade.allowReboot = false;
|
system.autoUpgrade.allowReboot = false;
|
||||||
system.stateVersion = "22.05"; # Did you read the comment?
|
system.stateVersion = "22.05"; # Did you read the comment?
|
||||||
|
@ -1,16 +1,20 @@
|
|||||||
{
|
{ pkgs
|
||||||
pkgs,
|
, config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, modulesPath
|
||||||
modulesPath,
|
, ...
|
||||||
...
|
|
||||||
}: {
|
}: {
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod"];
|
boot = {
|
||||||
boot.initrd.kernelModules = [];
|
initrd = {
|
||||||
boot.kernelModules = ["kvm-intel"];
|
availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
|
||||||
boot.extraModulePackages = [];
|
kernelModules = [ ];
|
||||||
|
luks.devices."luks-e12e4b82-6f9e-4f80-b3f4-7e9a248e7827".device = "/dev/disk/by-uuid/e12e4b82-6f9e-4f80-b3f4-7e9a248e7827";
|
||||||
|
};
|
||||||
|
kernelModules = [ "kvm-intel" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
system.fsPackages = [ pkgs.sshfs ];
|
system.fsPackages = [ pkgs.sshfs ];
|
||||||
|
|
||||||
@ -43,7 +47,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.initrd.luks.devices."luks-e12e4b82-6f9e-4f80-b3f4-7e9a248e7827".device = "/dev/disk/by-uuid/e12e4b82-6f9e-4f80-b3f4-7e9a248e7827";
|
|
||||||
|
|
||||||
swapDevices = [{ device = "/dev/disk/by-uuid/85a3b559-0c0f-485d-9107-9f6ba5ad31da"; }];
|
swapDevices = [{ device = "/dev/disk/by-uuid/85a3b559-0c0f-485d-9107-9f6ba5ad31da"; }];
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, pkgs
|
||||||
pkgs,
|
, lib
|
||||||
lib,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
pubKeys = [
|
pubKeys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7v+/xS8832iMqJHCWsxUZ8zYoMWoZhjj++e26g1fLT europa"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7v+/xS8832iMqJHCWsxUZ8zYoMWoZhjj++e26g1fLT europa"
|
||||||
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBB/V8N5fqlSGgRCtLJMLDJ8Hd3JcJcY8skI0l+byLNRgQLZfTQRxlZ1yymRs36rXj+ASTnyw5ZDv+q2aXP7Lj0= hosts@secretive.plq.local"
|
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBB/V8N5fqlSGgRCtLJMLDJ8Hd3JcJcY8skI0l+byLNRgQLZfTQRxlZ1yymRs36rXj+ASTnyw5ZDv+q2aXP7Lj0= hosts@secretive.plq.local"
|
||||||
@ -12,7 +12,8 @@
|
|||||||
openssh.authorizedKeys.keys = pubKeys ++ config.myconf.managementPubKeys;
|
openssh.authorizedKeys.keys = pubKeys ++ config.myconf.managementPubKeys;
|
||||||
};
|
};
|
||||||
firefox = import ../../configs/firefox.nix { inherit pkgs; };
|
firefox = import ../../configs/firefox.nix { inherit pkgs; };
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
_module.args.isUnstable = false;
|
_module.args.isUnstable = false;
|
||||||
imports = [ ./hardware-configuration.nix ];
|
imports = [ ./hardware-configuration.nix ];
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, pkgs
|
||||||
pkgs,
|
, lib
|
||||||
lib,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
pubKeys = [
|
pubKeys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7v+/xS8832iMqJHCWsxUZ8zYoMWoZhjj++e26g1fLT europa"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7v+/xS8832iMqJHCWsxUZ8zYoMWoZhjj++e26g1fLT europa"
|
||||||
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBB/V8N5fqlSGgRCtLJMLDJ8Hd3JcJcY8skI0l+byLNRgQLZfTQRxlZ1yymRs36rXj+ASTnyw5ZDv+q2aXP7Lj0= hosts@secretive.plq.local"
|
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBB/V8N5fqlSGgRCtLJMLDJ8Hd3JcJcY8skI0l+byLNRgQLZfTQRxlZ1yymRs36rXj+ASTnyw5ZDv+q2aXP7Lj0= hosts@secretive.plq.local"
|
||||||
@ -11,7 +11,8 @@
|
|||||||
userBase = {
|
userBase = {
|
||||||
openssh.authorizedKeys.keys = pubKeys ++ config.myconf.managementPubKeys;
|
openssh.authorizedKeys.keys = pubKeys ++ config.myconf.managementPubKeys;
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
_module.args.isUnstable = false;
|
_module.args.isUnstable = false;
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{pkgs, ...}: let
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
pubKeys = [
|
pubKeys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDM2k2C6Ufx5RNf4qWA9BdQHJfAkskOaqEWf8yjpySwH Nix Manager"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDM2k2C6Ufx5RNf4qWA9BdQHJfAkskOaqEWf8yjpySwH Nix Manager"
|
||||||
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIB1cBO17AFcS2NtIT+rIxR2Fhdu3HD4de4+IsFyKKuGQAAAACnNzaDpsZXNzZXI="
|
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIB1cBO17AFcS2NtIT+rIxR2Fhdu3HD4de4+IsFyKKuGQAAAACnNzaDpsZXNzZXI="
|
||||||
@ -6,12 +7,17 @@
|
|||||||
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBB/V8N5fqlSGgRCtLJMLDJ8Hd3JcJcY8skI0l+byLNRgQLZfTQRxlZ1yymRs36rXj+ASTnyw5ZDv+q2aXP7Lj0="
|
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBB/V8N5fqlSGgRCtLJMLDJ8Hd3JcJcY8skI0l+byLNRgQLZfTQRxlZ1yymRs36rXj+ASTnyw5ZDv+q2aXP7Lj0="
|
||||||
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIHrYWbbgBkGcOntDqdMaWVZ9xn+dHM+Ap6s1HSAalL28AAAACHNzaDptYWlu"
|
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIHrYWbbgBkGcOntDqdMaWVZ9xn+dHM+Ap6s1HSAalL28AAAACHNzaDptYWlu"
|
||||||
];
|
];
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [ ./hardware-configuration.nix ];
|
imports = [ ./hardware-configuration.nix ];
|
||||||
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader = {
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
systemd-boot.enable = true;
|
||||||
boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
efi = {
|
||||||
|
canTouchEfiVariables = true;
|
||||||
|
efiSysMountPoint = "/boot/efi";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
package = pkgs.nixUnstable;
|
package = pkgs.nixUnstable;
|
||||||
@ -20,9 +26,10 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.hostName = "changeme";
|
networking = {
|
||||||
|
hostName = "changeme";
|
||||||
networking.networkmanager.enable = true;
|
networkmanager.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
time.timeZone = "America/Denver";
|
time.timeZone = "America/Denver";
|
||||||
|
|
||||||
@ -34,12 +41,15 @@ in {
|
|||||||
};
|
};
|
||||||
console = { keyMap = "colemak"; };
|
console = { keyMap = "colemak"; };
|
||||||
|
|
||||||
users.users.qbit = {
|
users.users = {
|
||||||
|
qbit = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Aaron Bieber";
|
description = "Aaron Bieber";
|
||||||
extraGroups = [ "networkmanager" "wheel" ];
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
packages = [ ];
|
packages = [ ];
|
||||||
};
|
};
|
||||||
|
root = { openssh.authorizedKeys.keys = pubKeys; };
|
||||||
|
};
|
||||||
|
|
||||||
# neovim will overwrite my neovim!!
|
# neovim will overwrite my neovim!!
|
||||||
environment.systemPackages = with pkgs; [ neovim jq ];
|
environment.systemPackages = with pkgs; [ neovim jq ];
|
||||||
@ -49,7 +59,5 @@ in {
|
|||||||
permitRootLogin = "prohibit-password";
|
permitRootLogin = "prohibit-password";
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.root = {openssh.authorizedKeys.keys = pubKeys;};
|
|
||||||
|
|
||||||
system.stateVersion = "22.05"; # Did you read the comment?
|
system.stateVersion = "22.05"; # Did you read the comment?
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
options,
|
, ...
|
||||||
pkgs,
|
}:
|
||||||
...
|
let
|
||||||
}: let
|
|
||||||
managementKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDM2k2C6Ufx5RNf4qWA9BdQHJfAkskOaqEWf8yjpySwH Nix Manager";
|
managementKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDM2k2C6Ufx5RNf4qWA9BdQHJfAkskOaqEWf8yjpySwH Nix Manager";
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [ ./configs/colemak.nix ./configs/tmux.nix ./configs/neovim.nix ];
|
imports = [ ./configs/colemak.nix ./configs/tmux.nix ./configs/neovim.nix ];
|
||||||
|
|
||||||
options.myconf = {
|
options.myconf = {
|
||||||
@ -102,11 +102,13 @@ in {
|
|||||||
'';
|
'';
|
||||||
boot.tmp.cleanOnBoot = true;
|
boot.tmp.cleanOnBoot = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [apg inetutils];
|
environment = {
|
||||||
|
systemPackages = with pkgs; [ apg inetutils ];
|
||||||
|
|
||||||
environment.interactiveShellInit = ''
|
interactiveShellInit = ''
|
||||||
alias vi=nvim
|
alias vi=nvim
|
||||||
'';
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
time.timeZone = "US/Mountain";
|
time.timeZone = "US/Mountain";
|
||||||
|
|
||||||
|
@ -1,18 +1,22 @@
|
|||||||
{lib, ...}: let
|
{ lib, ... }:
|
||||||
|
let
|
||||||
inherit (builtins) toString readFile fromJSON filter;
|
inherit (builtins) toString readFile fromJSON filter;
|
||||||
getPrStatus = pr: let
|
getPrStatus = pr:
|
||||||
|
let
|
||||||
prstr = toString pr;
|
prstr = toString pr;
|
||||||
prStatus = fromJSON (readFile ../pull_requests/${prstr}.json);
|
prStatus = fromJSON (readFile ../pull_requests/${prstr}.json);
|
||||||
in
|
in
|
||||||
prStatus;
|
prStatus;
|
||||||
prIsOpen = {
|
prIsOpen = {
|
||||||
option = pr: a: let
|
option = pr: a:
|
||||||
|
let
|
||||||
prStatus = getPrStatus pr;
|
prStatus = getPrStatus pr;
|
||||||
in
|
in
|
||||||
if prStatus.status == "open"
|
if prStatus.status == "open"
|
||||||
then a
|
then a
|
||||||
else { };
|
else { };
|
||||||
pkg = pr: localPkg: upstreamPkg: let
|
pkg = pr: localPkg: upstreamPkg:
|
||||||
|
let
|
||||||
prStatus = getPrStatus pr;
|
prStatus = getPrStatus pr;
|
||||||
in
|
in
|
||||||
if prStatus.status == "open"
|
if prStatus.status == "open"
|
||||||
@ -22,7 +26,8 @@
|
|||||||
"PR: ${toString pr} (${prStatus.title}) is complete, ignoring pkg..."
|
"PR: ${toString pr} (${prStatus.title}) is complete, ignoring pkg..."
|
||||||
upstreamPkg;
|
upstreamPkg;
|
||||||
|
|
||||||
overlay = pr: overlay: let
|
overlay = pr: overlay:
|
||||||
|
let
|
||||||
prStatus = getPrStatus pr;
|
prStatus = getPrStatus pr;
|
||||||
in
|
in
|
||||||
if pr == 0 || prStatus.status == "open"
|
if pr == 0 || prStatus.status == "open"
|
||||||
@ -30,7 +35,8 @@
|
|||||||
else
|
else
|
||||||
lib.warn "PR: ${
|
lib.warn "PR: ${
|
||||||
toString pr
|
toString pr
|
||||||
} (${prStatus.title}) is complete, ignoring overlay..." (_: _: {});
|
} (${prStatus.title}) is complete, ignoring overlay..."
|
||||||
|
(_: _: { });
|
||||||
};
|
};
|
||||||
|
|
||||||
todo = msg: lib.warn "TODO: ${msg}";
|
todo = msg: lib.warn "TODO: ${msg}";
|
||||||
@ -91,9 +97,11 @@
|
|||||||
# Set our configurationRevison based on the status of our git repo.
|
# Set our configurationRevison based on the status of our git repo.
|
||||||
# If the repo is dirty, disable autoUpgrade as it means we are
|
# If the repo is dirty, disable autoUpgrade as it means we are
|
||||||
# testing something.
|
# testing something.
|
||||||
buildVer = self: let
|
buildVer = self:
|
||||||
|
let
|
||||||
state = self.rev or "DIRTY";
|
state = self.rev or "DIRTY";
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
system.configurationRevision = state;
|
system.configurationRevision = state;
|
||||||
system.autoUpgrade.enable = lib.mkDefault (state != "DIRTY");
|
system.autoUpgrade.enable = lib.mkDefault (state != "DIRTY");
|
||||||
};
|
};
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with pkgs; let
|
with pkgs; let
|
||||||
cfg = config.services.golink;
|
cfg = config.services.golink;
|
||||||
golink = callPackage ../pkgs/golink.nix { };
|
golink = callPackage ../pkgs/golink.nix { };
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options = with lib; {
|
options = with lib; {
|
||||||
services.golink = {
|
services.golink = {
|
||||||
enable = mkEnableOption "Enable golink";
|
enable = mkEnableOption "Enable golink";
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with pkgs; let
|
with pkgs; let
|
||||||
cfg = config.services.gotosocial;
|
cfg = config.services.gotosocial;
|
||||||
@ -15,7 +14,8 @@ with pkgs; let
|
|||||||
builtins.toJSON conf
|
builtins.toJSON conf
|
||||||
}' | ${pkgs.buildPackages.jq}/bin/jq 'del(._module)' > $out
|
}' | ${pkgs.buildPackages.jq}/bin/jq 'del(._module)' > $out
|
||||||
'';
|
'';
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options = with lib; {
|
options = with lib; {
|
||||||
services.gotosocial = {
|
services.gotosocial = {
|
||||||
enable = mkEnableOption "Enable gotosocial";
|
enable = mkEnableOption "Enable gotosocial";
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with pkgs; let
|
with pkgs; let
|
||||||
cfg = config.services.rtlamr2mqtt;
|
cfg = config.services.rtlamr2mqtt;
|
||||||
@ -15,7 +14,8 @@ with pkgs; let
|
|||||||
builtins.toJSON conf
|
builtins.toJSON conf
|
||||||
}' | ${pkgs.buildPackages.jq}/bin/jq 'del(._module)' > $out
|
}' | ${pkgs.buildPackages.jq}/bin/jq 'del(._module)' > $out
|
||||||
'';
|
'';
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options = with lib; {
|
options = with lib; {
|
||||||
services.rtlamr2mqtt = {
|
services.rtlamr2mqtt = {
|
||||||
enable = mkEnableOption "Enable rtlamr2mqtt";
|
enable = mkEnableOption "Enable rtlamr2mqtt";
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, config
|
||||||
config,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
cfg = config.services.sliding-sync;
|
cfg = config.services.sliding-sync;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options = with lib; {
|
options = with lib; {
|
||||||
services.sliding-sync = {
|
services.sliding-sync = {
|
||||||
enable = lib.mkEnableOption "Enable sliding-sync";
|
enable = lib.mkEnableOption "Enable sliding-sync";
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
perl = "${pkgs.perl}/bin/perl";
|
perl = "${pkgs.perl}/bin/perl";
|
||||||
sshAdd = "${pkgs.openssh}/bin/ssh-add";
|
sshAdd = "${pkgs.openssh}/bin/ssh-add";
|
||||||
pKill = "${pkgs.procps}/bin/pkill";
|
pKill = "${pkgs.procps}/bin/pkill";
|
||||||
@ -45,7 +45,8 @@
|
|||||||
export SSH_AUTH_SOCK="$(echo $XDG_RUNTIME_DIR/ssh-agent)";
|
export SSH_AUTH_SOCK="$(echo $XDG_RUNTIME_DIR/ssh-agent)";
|
||||||
exec ${config.programs.ssh.askPassword} "$@"
|
exec ${config.programs.ssh.askPassword} "$@"
|
||||||
'';
|
'';
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options = {
|
options = {
|
||||||
sshFidoAgent = {
|
sshFidoAgent = {
|
||||||
enable = lib.mkEnableOption "Add FIDO keys to ssh-agent when attached.";
|
enable = lib.mkEnableOption "Add FIDO keys to ssh-agent when attached.";
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, config
|
||||||
config,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
cfg = config.services.tsrevprox;
|
cfg = config.services.tsrevprox;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options = with lib; {
|
options = with lib; {
|
||||||
services.tsrevprox = {
|
services.tsrevprox = {
|
||||||
enable = lib.mkEnableOption "Enable tsrevprox";
|
enable = lib.mkEnableOption "Enable tsrevprox";
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, inputs
|
||||||
inputs,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with pkgs; let
|
with pkgs; let
|
||||||
cfg = config.services.tsvnstat;
|
cfg = config.services.tsvnstat;
|
||||||
inherit (inputs.tsvnstat.packages.${pkgs.system}) tsvnstat;
|
inherit (inputs.tsvnstat.packages.${pkgs.system}) tsvnstat;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options = with lib; {
|
options = with lib; {
|
||||||
services.tsvnstat = {
|
services.tsvnstat = {
|
||||||
enable = mkEnableOption "Enable tsvnstat";
|
enable = mkEnableOption "Enable tsvnstat";
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with pkgs; let
|
with pkgs; let
|
||||||
cfg = config.services.veilid-server;
|
cfg = config.services.veilid-server;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options = with lib; {
|
options = with lib; {
|
||||||
services.veilid-server = {
|
services.veilid-server = {
|
||||||
enable = mkEnableOption "Enable velid-server";
|
enable = mkEnableOption "Enable velid-server";
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with pkgs; let
|
with pkgs; let
|
||||||
cfg = config.services.yarr;
|
cfg = config.services.yarr;
|
||||||
yarr = callPackage ../pkgs/yarr.nix { };
|
yarr = callPackage ../pkgs/yarr.nix { };
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options = with lib; {
|
options = with lib; {
|
||||||
services.yarr = {
|
services.yarr = {
|
||||||
enable = mkEnableOption "Enable yarr";
|
enable = mkEnableOption "Enable yarr";
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.services.xin-monitoring;
|
cfg = config.services.xin-monitoring;
|
||||||
@ -15,7 +14,8 @@ with lib; let
|
|||||||
;
|
;
|
||||||
|
|
||||||
nginxCfg = config.services.nginx;
|
nginxCfg = config.services.nginx;
|
||||||
buildFSChecker = fsList: (concatStringsSep "\n" (attrValues (mapAttrs (f: v:
|
buildFSChecker = fsList: (concatStringsSep "\n" (attrValues (mapAttrs
|
||||||
|
(f: v:
|
||||||
if v.fsType != "sshfs"
|
if v.fsType != "sshfs"
|
||||||
then ''
|
then ''
|
||||||
check filesystem ${replaceStrings ["/"] ["_"] f} with path ${f}
|
check filesystem ${replaceStrings ["/"] ["_"] f} with path ${f}
|
||||||
@ -24,7 +24,8 @@ with lib; let
|
|||||||
''
|
''
|
||||||
else "")
|
else "")
|
||||||
fsList)));
|
fsList)));
|
||||||
buildNginxChecker = vhostList: (concatStringsSep "\n" (attrValues (mapAttrs (f: v: ''
|
buildNginxChecker = vhostList: (concatStringsSep "\n" (attrValues (mapAttrs
|
||||||
|
(f: v: ''
|
||||||
check host ${f} with address ${f}
|
check host ${f} with address ${f}
|
||||||
if failed port 80 protocol http then alert
|
if failed port 80 protocol http then alert
|
||||||
${
|
${
|
||||||
@ -41,7 +42,8 @@ with lib; let
|
|||||||
then (buildNginxChecker nginxCfg.virtualHosts)
|
then (buildNginxChecker nginxCfg.virtualHosts)
|
||||||
else ""
|
else ""
|
||||||
else "";
|
else "";
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options = {
|
options = {
|
||||||
services.xin-monitoring = {
|
services.xin-monitoring = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{
|
{ isUnstable
|
||||||
isUnstable,
|
, xinlib
|
||||||
xinlib,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
inherit (xinlib) prIsOpen;
|
inherit (xinlib) prIsOpen;
|
||||||
#_1password-gui = prIsOpen.overlay 235900 (import ./1password-gui.nix);
|
#_1password-gui = prIsOpen.overlay 235900 (import ./1password-gui.nix);
|
||||||
#openssh = import ./openssh.nix;
|
#openssh = import ./openssh.nix;
|
||||||
@ -13,7 +13,8 @@
|
|||||||
#nixd = prIsOpen.overlay 238779 (import ./nixd.nix);
|
#nixd = prIsOpen.overlay 238779 (import ./nixd.nix);
|
||||||
heisenbridge = prIsOpen.overlay 0 (import ./heisenbridge.nix);
|
heisenbridge = prIsOpen.overlay 0 (import ./heisenbridge.nix);
|
||||||
#rex = prIsOpen.overlay 0 (import ./rex.nix);
|
#rex = prIsOpen.overlay 0 (import ./rex.nix);
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
nixpkgs.overlays =
|
nixpkgs.overlays =
|
||||||
if isUnstable
|
if isUnstable
|
||||||
then [
|
then [
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, stdenv
|
||||||
stdenv,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
libadalang = stdenv.mkDerivation rec {
|
libadalang = stdenv.mkDerivation rec {
|
||||||
pname = "libadalang";
|
pname = "libadalang";
|
||||||
version = "22.0.0";
|
version = "22.0.0";
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
{
|
{ stdenv
|
||||||
stdenv,
|
, lib
|
||||||
lib,
|
, fetchurl
|
||||||
fetchurl,
|
, unzip
|
||||||
unzip,
|
, autoPatchelfHook
|
||||||
autoPatchelfHook,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
{
|
{ stdenv
|
||||||
stdenv,
|
, lib
|
||||||
lib,
|
, buildGoModule
|
||||||
buildGoModule,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, isUnstable
|
||||||
isUnstable,
|
, makeWrapper
|
||||||
makeWrapper,
|
, go
|
||||||
go,
|
, git
|
||||||
git,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
vendorHash =
|
vendorHash =
|
||||||
if isUnstable
|
if isUnstable
|
||||||
then ""
|
then ""
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, buildGoModule
|
||||||
buildGoModule,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
{
|
{ buildPythonPackage
|
||||||
buildPythonPackage,
|
, fetchPypi
|
||||||
fetchPypi,
|
, setuptools-scm
|
||||||
setuptools-scm,
|
, appdirs
|
||||||
appdirs,
|
, sqlalchemy
|
||||||
sqlalchemy,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "cachew";
|
pname = "cachew";
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{
|
{ fetchurl
|
||||||
fetchurl,
|
, appimageTools
|
||||||
appimageTools,
|
, desktop-file-utils
|
||||||
desktop-file-utils,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
name = "cinny-desktop";
|
name = "cinny-desktop";
|
||||||
version = "2.0.4";
|
version = "2.0.4";
|
||||||
|
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, buildGoModule
|
||||||
buildGoModule,
|
, fetchgit
|
||||||
fetchgit,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "clilol";
|
pname = "clilol";
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{
|
{ stdenv
|
||||||
stdenv,
|
, lib
|
||||||
lib,
|
, fetchgit
|
||||||
fetchgit,
|
, gnumake
|
||||||
gnumake,
|
,
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "femtolisp";
|
pname = "femtolisp";
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
{
|
{ stdenv
|
||||||
stdenv,
|
, lib
|
||||||
lib,
|
, substituteAll
|
||||||
substituteAll,
|
, jq
|
||||||
jq,
|
, nix
|
||||||
nix,
|
, coreutils
|
||||||
coreutils,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "flake-warn";
|
pname = "flake-warn";
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, buildGoModule
|
||||||
buildGoModule,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
{
|
{ buildPythonPackage
|
||||||
buildPythonPackage,
|
, setuptools-scm
|
||||||
setuptools-scm,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, PyGithub
|
||||||
PyGithub,
|
, pytz
|
||||||
pytz,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "ghexport";
|
pname = "ghexport";
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, buildGoModule
|
||||||
buildGoModule,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
buildGoModule {
|
buildGoModule {
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, buildGoModule
|
||||||
buildGoModule,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, buildGoModule
|
||||||
buildGoModule,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, buildGoModule
|
||||||
buildGoModule,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, go
|
||||||
go,
|
, ffmpeg
|
||||||
ffmpeg,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
gotosocialVersion = "0.11.0";
|
gotosocialVersion = "0.11.0";
|
||||||
gtswaHash = "sha256:0qbs4a3wblrlcr1l5155p54vdd6hn2szkdns99wxjhjr8kw6dbil";
|
gtswaHash = "sha256:0qbs4a3wblrlcr1l5155p54vdd6hn2szkdns99wxjhjr8kw6dbil";
|
||||||
gtssHash = "sha256-qbq5pDvG2L1s6BG+sh7eagcFNH/DWyANMQaAl2WcQzE=";
|
gtssHash = "sha256-qbq5pDvG2L1s6BG+sh7eagcFNH/DWyANMQaAl2WcQzE=";
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, buildGoModule
|
||||||
buildGoModule,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
vendorHash = "sha256-1zBZREClt8jy0TUXJ1FuBEAJEPQoUcl4DZZ6U2LtRzg=";
|
vendorHash = "sha256-1zBZREClt8jy0TUXJ1FuBEAJEPQoUcl4DZZ6U2LtRzg=";
|
||||||
in
|
in
|
||||||
with lib;
|
with lib;
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, fetchurl
|
||||||
fetchurl,
|
, stdenv
|
||||||
stdenv,
|
, unzip
|
||||||
unzip,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "hammerspoon";
|
pname = "hammerspoon";
|
||||||
|
37
pkgs/hpi.nix
37
pkgs/hpi.nix
@ -1,22 +1,21 @@
|
|||||||
{
|
{ pkgs
|
||||||
pkgs,
|
, buildPythonPackage
|
||||||
buildPythonPackage,
|
, setuptools-scm
|
||||||
setuptools-scm,
|
, pytest
|
||||||
pytest,
|
, fetchPypi
|
||||||
fetchPypi,
|
, appdirs
|
||||||
appdirs,
|
, click
|
||||||
click,
|
, decorator
|
||||||
decorator,
|
, geopy
|
||||||
geopy,
|
, logzero
|
||||||
logzero,
|
, lxml
|
||||||
lxml,
|
, more-itertools
|
||||||
more-itertools,
|
, mypy
|
||||||
mypy,
|
, orjson
|
||||||
orjson,
|
, pandas
|
||||||
pandas,
|
, pytz
|
||||||
pytz,
|
, simplejson
|
||||||
simplejson,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with pkgs; let
|
with pkgs; let
|
||||||
orgparse = pkgs.python3Packages.callPackage ./orgparse.nix { inherit pkgs; };
|
orgparse = pkgs.python3Packages.callPackage ./orgparse.nix { inherit pkgs; };
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, rustPlatform
|
||||||
rustPlatform,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
,
|
||||||
}:
|
}:
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "iamb";
|
pname = "iamb";
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, stdenv
|
||||||
stdenv,
|
, fetchurl
|
||||||
fetchurl,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "icbirc";
|
pname = "icbirc";
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, buildPythonPackage
|
||||||
buildPythonPackage,
|
, fetchPypi
|
||||||
fetchPypi,
|
, setuptools-scm
|
||||||
setuptools-scm,
|
, pytz
|
||||||
pytz,
|
, alembic
|
||||||
alembic,
|
, banal
|
||||||
banal,
|
, sqlalchemy
|
||||||
sqlalchemy,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
myDataset = buildPythonPackage rec {
|
myDataset = buildPythonPackage rec {
|
||||||
pname = "dataset";
|
pname = "dataset";
|
||||||
version = "1.6.0";
|
version = "1.6.0";
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, stdenvNoCC
|
||||||
stdenvNoCC,
|
, fetchzip
|
||||||
fetchzip,
|
,
|
||||||
}:
|
}:
|
||||||
stdenvNoCC.mkDerivation rec {
|
stdenvNoCC.mkDerivation rec {
|
||||||
pname = "kurinto";
|
pname = "kurinto";
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, buildGoModule
|
||||||
buildGoModule,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{
|
{ fetchurl
|
||||||
fetchurl,
|
, appimageTools
|
||||||
appimageTools,
|
, desktop-file-utils
|
||||||
desktop-file-utils,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
name = "mudita-center";
|
name = "mudita-center";
|
||||||
version = "1.3.0";
|
version = "1.3.0";
|
||||||
|
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, stdenv
|
||||||
stdenv,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "mvoice";
|
pname = "mvoice";
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, fetchurl
|
||||||
fetchurl,
|
, stdenv
|
||||||
stdenv,
|
, undmg
|
||||||
undmg,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "nheko";
|
pname = "nheko";
|
||||||
|
@ -1,34 +1,34 @@
|
|||||||
{
|
{ pname
|
||||||
pname,
|
, version
|
||||||
version,
|
, extraDesc ? ""
|
||||||
extraDesc ? "",
|
, src
|
||||||
src,
|
, extraPatches ? [ ]
|
||||||
extraPatches ? [],
|
, extraNativeBuildInputs ? [ ]
|
||||||
extraNativeBuildInputs ? [],
|
, extraConfigureFlags ? [ ]
|
||||||
extraConfigureFlags ? [],
|
, extraMeta ? { }
|
||||||
extraMeta ? {},
|
,
|
||||||
}: {
|
}: { lib
|
||||||
lib,
|
, stdenv
|
||||||
stdenv,
|
, # This *is* correct, though unusual. as a way of getting krb5-config from the
|
||||||
# This *is* correct, though unusual. as a way of getting krb5-config from the
|
|
||||||
# package without splicing See: https://github.com/NixOS/nixpkgs/pull/107606
|
# package without splicing See: https://github.com/NixOS/nixpkgs/pull/107606
|
||||||
pkgs,
|
pkgs
|
||||||
autoreconfHook,
|
, autoreconfHook
|
||||||
zlib,
|
, zlib
|
||||||
libressl,
|
, libressl
|
||||||
libedit,
|
, libedit
|
||||||
pkg-config,
|
, pkg-config
|
||||||
pam,
|
, pam
|
||||||
libredirect,
|
, libredirect
|
||||||
etcDir ? "/etc/ssh",
|
, etcDir ? "/etc/ssh"
|
||||||
withKerberos ? true,
|
, withKerberos ? true
|
||||||
libkrb5,
|
, libkrb5
|
||||||
libfido2,
|
, libfido2
|
||||||
hostname,
|
, hostname
|
||||||
nixosTests,
|
, nixosTests
|
||||||
withFIDO ? stdenv.hostPlatform.isUnix && !stdenv.hostPlatform.isMusl,
|
, withFIDO ? stdenv.hostPlatform.isUnix && !stdenv.hostPlatform.isMusl
|
||||||
withPAM ? stdenv.hostPlatform.isLinux,
|
, withPAM ? stdenv.hostPlatform.isLinux
|
||||||
linkOpenssl ? true,
|
, linkOpenssl ? true
|
||||||
|
,
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
inherit pname version src;
|
inherit pname version src;
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
{
|
{ callPackage
|
||||||
callPackage,
|
, lib
|
||||||
lib,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
,
|
||||||
}: let
|
}:
|
||||||
|
let
|
||||||
inherit (builtins) readFile fromJSON;
|
inherit (builtins) readFile fromJSON;
|
||||||
common = opts: callPackage (import ./common.nix opts) { };
|
common = opts: callPackage (import ./common.nix opts) { };
|
||||||
verStr = fromJSON (readFile ./version.json);
|
verStr = fromJSON (readFile ./version.json);
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
openssh = common {
|
openssh = common {
|
||||||
pname = "openssh";
|
pname = "openssh";
|
||||||
inherit (verStr) version;
|
inherit (verStr) version;
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
{
|
{ buildPythonPackage
|
||||||
buildPythonPackage,
|
, setuptools-scm
|
||||||
setuptools-scm,
|
, pytest
|
||||||
pytest,
|
, fetchPypi
|
||||||
fetchPypi,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "orgparse";
|
pname = "orgparse";
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, buildPythonPackage
|
||||||
buildPythonPackage,
|
, fetchPypi
|
||||||
fetchPypi,
|
, pyusb
|
||||||
pyusb,
|
, progressbar2
|
||||||
progressbar2,
|
, requests
|
||||||
requests,
|
, pycryptodome
|
||||||
pycryptodome,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "precursorupdater";
|
pname = "precursorupdater";
|
||||||
|
@ -1,26 +1,25 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, buildPythonPackage
|
||||||
buildPythonPackage,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, beautifulsoup4
|
||||||
beautifulsoup4,
|
, fastapi
|
||||||
fastapi,
|
, httptools
|
||||||
httptools,
|
, logzero
|
||||||
logzero,
|
, lxml
|
||||||
lxml,
|
, mistletoe
|
||||||
mistletoe,
|
, more-itertools
|
||||||
more-itertools,
|
, mypy
|
||||||
mypy,
|
, pytz
|
||||||
pytz,
|
, setuptools
|
||||||
setuptools,
|
, tzlocal
|
||||||
tzlocal,
|
, urlextract
|
||||||
urlextract,
|
, uvicorn
|
||||||
uvicorn,
|
, uvloop
|
||||||
uvloop,
|
, watchfiles
|
||||||
watchfiles,
|
, websockets
|
||||||
websockets,
|
, setuptools-scm
|
||||||
setuptools-scm,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with pkgs; let
|
with pkgs; let
|
||||||
hpi = pkgs.python3Packages.callPackage ./hpi.nix { inherit pkgs; };
|
hpi = pkgs.python3Packages.callPackage ./hpi.nix { inherit pkgs; };
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, buildPythonPackage
|
||||||
buildPythonPackage,
|
, click
|
||||||
click,
|
, fetchPypi
|
||||||
fetchPypi,
|
, ipython
|
||||||
ipython,
|
, mock
|
||||||
mock,
|
, pytestCheckHook
|
||||||
pytestCheckHook,
|
, pythonOlder
|
||||||
pythonOlder,
|
, sh
|
||||||
sh,
|
,
|
||||||
}:
|
}:
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "python-dotenv";
|
pname = "python-dotenv";
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, rustPlatform
|
||||||
rustPlatform,
|
, pkg-config
|
||||||
pkg-config,
|
, openssl_1_1
|
||||||
openssl_1_1,
|
, llvmPackages
|
||||||
llvmPackages,
|
, libevdev
|
||||||
libevdev,
|
, linuxHeaders
|
||||||
linuxHeaders,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
rustPlatform.buildRustPackage {
|
rustPlatform.buildRustPackage {
|
||||||
pname = "rkvm";
|
pname = "rkvm";
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, buildGoModule
|
||||||
buildGoModule,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
{
|
{ buildPythonPackage
|
||||||
buildPythonPackage,
|
, callPackage
|
||||||
callPackage,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, paho-mqtt
|
||||||
paho-mqtt,
|
, pyusb
|
||||||
pyusb,
|
, pyyaml
|
||||||
pyyaml,
|
, requests
|
||||||
requests,
|
, rtl-sdr
|
||||||
rtl-sdr,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
rtlamr = callPackage ./rtlamr.nix { };
|
rtlamr = callPackage ./rtlamr.nix { };
|
||||||
in
|
in
|
||||||
buildPythonPackage {
|
buildPythonPackage {
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user