summaryrefslogtreecommitdiff
path: root/nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix')
-rw-r--r--nix/flake.lock36
-rw-r--r--nix/modules/bitcoin.nix7
-rw-r--r--nix/modules/conduit.nix6
-rw-r--r--nix/modules/configuration.nix1
-rw-r--r--nix/modules/home/default.nix10
-rw-r--r--nix/modules/home/emacs.nix2
-rw-r--r--nix/modules/home/user.nix2
-rw-r--r--nix/modules/ollama.nix6
-rw-r--r--nix/modules/secrets.nix28
-rw-r--r--nix/secrets/secrets.yaml5
-rw-r--r--nix/systems/spontaneity/default.nix1
11 files changed, 71 insertions, 33 deletions
diff --git a/nix/flake.lock b/nix/flake.lock
index 49c4659..0515e11 100644
--- a/nix/flake.lock
+++ b/nix/flake.lock
@@ -49,11 +49,11 @@
]
},
"locked": {
- "lastModified": 1738148035,
- "narHash": "sha256-KYOATYEwaKysL3HdHdS5kbQMXvzS4iPJzJrML+3TKAo=",
+ "lastModified": 1740485968,
+ "narHash": "sha256-WK+PZHbfDjLyveXAxpnrfagiFgZWaTJglewBWniTn2Y=",
"owner": "nix-community",
"repo": "disko",
- "rev": "18d0a984cc2bc82cf61df19523a34ad463aa7f54",
+ "rev": "19c1140419c4f1cdf88ad4c1cfb6605597628940",
"type": "github"
},
"original": {
@@ -239,11 +239,11 @@
]
},
"locked": {
- "lastModified": 1736373539,
- "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=",
+ "lastModified": 1739757849,
+ "narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "bd65bc3cde04c16755955630b344bc9e35272c56",
+ "rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
"type": "github"
},
"original": {
@@ -328,11 +328,11 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1738277201,
- "narHash": "sha256-6L+WXKCw5mqnUIExvqkD99pJQ41xgyCk6z/H9snClwk=",
+ "lastModified": 1740743217,
+ "narHash": "sha256-brsCRzLqimpyhORma84c3W2xPbIidZlIc3JGIuQVSNI=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "666e1b3f09c267afd66addebe80fb05a5ef2b554",
+ "rev": "b27ba4eb322d9d2bf2dc9ada9fd59442f50c8d7c",
"type": "github"
},
"original": {
@@ -360,11 +360,11 @@
},
"nixpkgs_2": {
"locked": {
- "lastModified": 1738142207,
- "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=",
+ "lastModified": 1740695751,
+ "narHash": "sha256-D+R+kFxy1KsheiIzkkx/6L63wEHBYX21OIwlFV8JvDs=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "9d3ae807ebd2981d593cddd0080856873139aa40",
+ "rev": "6313551cd05425cd5b3e63fe47dbc324eabb15e4",
"type": "github"
},
"original": {
@@ -397,11 +397,11 @@
"treefmt-nix": "treefmt-nix_2"
},
"locked": {
- "lastModified": 1738362438,
- "narHash": "sha256-EO2dVkMVLThWqv4hobEZEZGWBEuH2Z9SYqQDrbLSclU=",
+ "lastModified": 1740915906,
+ "narHash": "sha256-29HktIztPUFv9MQA9afzVnWnUMdmmu0nqK7z8Q9givY=",
"owner": "nix-community",
"repo": "NUR",
- "rev": "95ddad0ff0e67c90314c6ca46324dce5f9a910d2",
+ "rev": "24505e0253c0ea54d50355c53bfd7a8d55c9cf4b",
"type": "github"
},
"original": {
@@ -524,11 +524,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
- "lastModified": 1738291974,
- "narHash": "sha256-wkwYJc8cKmmQWUloyS9KwttBnja2ONRuJQDEsmef320=",
+ "lastModified": 1739262228,
+ "narHash": "sha256-7JAGezJ0Dn5qIyA2+T4Dt/xQgAbhCglh6lzCekTVMeU=",
"owner": "Mic92",
"repo": "sops-nix",
- "rev": "4c1251904d8a08c86ac6bc0d72cc09975e89aef7",
+ "rev": "07af005bb7d60c7f118d9d9f5530485da5d1e975",
"type": "github"
},
"original": {
diff --git a/nix/modules/bitcoin.nix b/nix/modules/bitcoin.nix
new file mode 100644
index 0000000..bd014bb
--- /dev/null
+++ b/nix/modules/bitcoin.nix
@@ -0,0 +1,7 @@
+{ config, lib, ... }:
+{
+ services.bitcoind."${config.monorepo.vars.userName}" = {
+ enable = lib.mkDefault config.monorepo.profiles.workstation.enable;
+ prune = 10000;
+ };
+}
diff --git a/nix/modules/conduit.nix b/nix/modules/conduit.nix
index 623cb7f..ce2c23e 100644
--- a/nix/modules/conduit.nix
+++ b/nix/modules/conduit.nix
@@ -2,11 +2,15 @@
{
services.matrix-conduit = {
enable = lib.mkDefault config.monorepo.profiles.server.enable;
- # random comment
settings.global = {
server_name = "matrix.${config.monorepo.vars.remoteHost}";
+ trusted_servers = [
+ "matrix.org"
+ "nixos.org"
+ ];
address = "0.0.0.0";
port = 6167;
+ allow_registration = true;
};
};
}
diff --git a/nix/modules/configuration.nix b/nix/modules/configuration.nix
index bd37c77..e8e3fb0 100644
--- a/nix/modules/configuration.nix
+++ b/nix/modules/configuration.nix
@@ -16,6 +16,7 @@
./i2pd.nix
./gitweb.nix
./conduit.nix
+ ./bitcoin.nix
];
documentation = {
diff --git a/nix/modules/home/default.nix b/nix/modules/home/default.nix
index d2277da..4f1e7d4 100644
--- a/nix/modules/home/default.nix
+++ b/nix/modules/home/default.nix
@@ -37,6 +37,7 @@
lang-js.enable = lib.mkEnableOption "Enables javascript language support";
lang-nix.enable = lib.mkEnableOption "Enables nix language support";
lang-coq.enable = lib.mkEnableOption "Enables coq language support";
+ lang-haskell.enable = lib.mkEnableOption "Enables haskell language support";
crypto.enable = lib.mkEnableOption "Enables various cryptocurrency wallets";
art.enable = lib.mkEnableOption "Enables various art programs";
@@ -86,6 +87,7 @@
bun
yarn
typescript
+ typescript-language-server
vscode-langservers-extracted
]) else [])
++
@@ -114,6 +116,12 @@
bash-language-server
]) else [])
++
+ (if config.monorepo.profiles.lang-haskell.enable then (with pkgs; [
+ haskell-language-server
+ haskellPackages.hlint
+ ghc
+ ]) else [])
+ ++
(if config.monorepo.profiles.lang-coq.enable then (with pkgs; [
coq
]) else [])
@@ -156,6 +164,7 @@
inkscape
kdenlive
kicad
+ reaper
]) else []);
monorepo.profiles = {
@@ -175,6 +184,7 @@
lang-js.enable = lib.mkDefault (true && config.monorepo.profiles.enable);
lang-nix.enable = lib.mkDefault (true && config.monorepo.profiles.enable);
lang-coq.enable = lib.mkDefault (true && config.monorepo.profiles.enable);
+ lang-haskell.enable = lib.mkDefault (true && config.monorepo.profiles.enable);
crypto.enable = lib.mkDefault (true && config.monorepo.profiles.enable);
art.enable = lib.mkDefault (true && config.monorepo.profiles.enable);
diff --git a/nix/modules/home/emacs.nix b/nix/modules/home/emacs.nix
index 5f39e87..4358ca3 100644
--- a/nix/modules/home/emacs.nix
+++ b/nix/modules/home/emacs.nix
@@ -37,6 +37,7 @@
epkgs.general
epkgs.gptel
epkgs.gruvbox-theme
+ epkgs.haskell-mode
epkgs.htmlize
epkgs.irony-eldoc
epkgs.ivy
@@ -45,6 +46,7 @@
epkgs.latex-preview-pane
epkgs.lsp-ivy
epkgs.lsp-mode
+ epkgs.lsp-haskell
epkgs.lyrics-fetcher
epkgs.magit
epkgs.magit-delta
diff --git a/nix/modules/home/user.nix b/nix/modules/home/user.nix
index 7872d53..d0ce5cd 100644
--- a/nix/modules/home/user.nix
+++ b/nix/modules/home/user.nix
@@ -43,7 +43,7 @@
pavucontrol alsa-utils imagemagick ffmpeg helvum
# Net
- curl rsync git
+ curl rsync git iamb
# Tor
torsocks tor-browser
diff --git a/nix/modules/ollama.nix b/nix/modules/ollama.nix
index 96ee918..3ac1a52 100644
--- a/nix/modules/ollama.nix
+++ b/nix/modules/ollama.nix
@@ -4,5 +4,11 @@
enable = lib.mkDefault config.monorepo.profiles.workstation.enable;
acceleration = "cuda";
host = "0.0.0.0";
+ openFirewall = true;
+ };
+
+ services.nextjs-ollama-llm-ui = {
+ enable = lib.mkDefault config.services.ollama.enable;
+ port = 3000;
};
}
diff --git a/nix/modules/secrets.nix b/nix/modules/secrets.nix
index d7a229f..2f8defc 100644
--- a/nix/modules/secrets.nix
+++ b/nix/modules/secrets.nix
@@ -5,17 +5,23 @@
age = {
keyFile = "/home/${config.monorepo.vars.userName}/.ssh/keys.txt";
};
- secrets.mail = {
- format = "yaml";
- path = "${config.sops.defaultSymlinkPath}/mail";
- };
- secrets.cloudflare-dns = {
- format = "yaml";
- path = "${config.sops.defaultSymlinkPath}/cloudflare-dns";
- };
- secrets.digikey = {
- format = "yaml";
- path = "${config.sops.defaultSymlinkPath}/digikey";
+ secrets = {
+ mail = {
+ format = "yaml";
+ path = "${config.sops.defaultSymlinkPath}/mail";
+ };
+ cloudflare-dns = {
+ format = "yaml";
+ path = "${config.sops.defaultSymlinkPath}/cloudflare-dns";
+ };
+ digikey = {
+ format = "yaml";
+ path = "${config.sops.defaultSymlinkPath}/digikey";
+ };
+ dn42 = {
+ format = "yaml";
+ path = "${config.sops.defaultSymlinkPath}/dn42";
+ };
};
defaultSymlinkPath = "/run/user/1000/secrets";
diff --git a/nix/secrets/secrets.yaml b/nix/secrets/secrets.yaml
index be4c8cf..0513f7c 100644
--- a/nix/secrets/secrets.yaml
+++ b/nix/secrets/secrets.yaml
@@ -2,6 +2,7 @@ hello: ENC[AES256_GCM,data:SyGz4JsQGWYBSsn59/iy2jtF5LxcLqvuYlJa9Ng30TYHZLjGHLFnF
mail: ENC[AES256_GCM,data:IFJnuVbshByUh5S3HoSnX5AyOg==,iv:gF0JlnBGAMLduMIG/hZtssdkHVL9/RDmDwBw/WoMDwQ=,tag:adDgcz/VrAN6/kfYTKa5XA==,type:str]
digikey: ENC[AES256_GCM,data:U1c2HYB/YjwlyHvD3XVTqWJdb9/8BeS6,iv:DNsBoaqgUPdfO9knQLCMeJVO8kctQ9XNvcY2xcpI0NM=,tag:kuJ9BYqVx0GeTBSW5EsItg==,type:str]
cloudflare-dns: ENC[AES256_GCM,data:Gztc/M+r/eRO2DwyLxlIBxS7B7MpOXimbFkQwlYhq9SzGG/fLl6Xqw==,iv:aDyNwbc8EyrNyhucULUkeg7VM7BmqNQTndSTh1SWqq0=,tag:HvysjKquD1g2PCrCgX2swg==,type:str]
+dn42: ENC[AES256_GCM,data:xSYssg7ReFjmf7LvmqmH/A==,iv:Gj/LZrxzRJLOLbP5rumjmViYWP6ufW3ocngektBW3V8=,tag:SA4f1vAnMFUO5Yk6NTr81Q==,type:str]
sops:
kms: []
gcp_kms: []
@@ -17,8 +18,8 @@ sops:
OFFNeEtOTk5FSm9RaDFad0UyeWZ2WDgKIwGoB4a5WAIkE93gzqdUzNlo5vgQ1zLy
yhEFrE1NbhyItnZIg/yRhqFG0dv7D3pEP3pq2Seew6pKJg/s9UTJ8Q==
-----END AGE ENCRYPTED FILE-----
- lastmodified: "2025-02-19T03:58:58Z"
- mac: ENC[AES256_GCM,data:C/0ufsPwj/cpaIoJA8PyNkqMp1zOmaFW/B3UQScoDBS0Nq34NrY3+qp42wnbX+wzP2D6spBIqBwtE/ASTqY8fM5IWRKIFlADepkWzX/zKAmT1JOlXhLb73+nt9c11DP76PPUNQ92DOWqLdS1OuPJlnQip2Kyr15q0S925il2+30=,iv:372DZxF64PdSER7dQE0rg5KB8ekQXgsNSi1KDD5e1sg=,tag:t97PhMb4GqaSqWpwOkid/g==,type:str]
+ lastmodified: "2025-03-02T12:09:49Z"
+ mac: ENC[AES256_GCM,data:Uk29XBkAVIMiAsVfQ4sMhVE8QKdTFWB1jYCnn7WmjumB9o4GPlNZAIlAn43Ja456/SkGlxaZm7HlqPRD8Rgzu1HdudHHhDgRoO7IDzc/Lu+ick7eR5BtnmotNQLe3vPVwmc8l8O2px5x3xMoYtzhbm5H6Om6s3AeI50hGBdK0EQ=,iv:PQD2APLPY6IiAes76QF1t5YL1ZW4vlnU28XR4D3XfnY=,tag:bZp0wh3+EkByGQ2kIO5BWw==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.9.4
diff --git a/nix/systems/spontaneity/default.nix b/nix/systems/spontaneity/default.nix
index 759782b..c64448a 100644
--- a/nix/systems/spontaneity/default.nix
+++ b/nix/systems/spontaneity/default.nix
@@ -19,6 +19,7 @@
firewall.allowedTCPPorts = [
80
443
+ 8448
];
domains = {
enable = true;