9 Commits

Author SHA1 Message Date
andromeda
33d61130c8 update kernel 2026-04-19 12:24:55 +02:00
andromeda
2783860e4e update inputs 2026-04-19 12:15:31 +02:00
andromeda
d2ea8ab074 bump anki-cli 2026-04-19 10:37:59 +02:00
andromeda
faba184a58 update anki-cli 2026-04-18 08:22:09 +02:00
andromeda
055657e082 stash 2026-04-16 16:52:00 +02:00
andromeda
a6ad2a25be fix minor bug 2026-04-03 21:36:36 +02:00
andromeda
bc702e48eb update remote pub key 2026-04-03 21:32:52 +02:00
andromeda
2ef56f1479 tidy a bit 2026-04-03 21:26:04 +02:00
andromeda
de1879b9a0 idk prolly smt ig 2026-02-21 15:59:08 +01:00
40 changed files with 403 additions and 997 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
result*
.gcroots

View File

@@ -1,5 +0,0 @@
# usage:
# $ ./deploy.sh <hostname> <ip>
# example usage:
# $ ./deply.sh 109-199-104-83 109.199.104.83
nix run github:nix-community/nixos-anywhere -- --generate-hardware-config nixos-generate-config ./hardware-configuration.nix --flake .?ref=411ee0c#$1 --target-host root@$2

591
flake.lock generated
View File

@@ -10,11 +10,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1762618334, "lastModified": 1770165109,
"narHash": "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=", "narHash": "sha256-9VnK6Oqai65puVJ4WYtCTvlJeXxMzAp/69HhQuTdl/I=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "fcdea223397448d35d9b31f798479227e80183f6", "rev": "b027ee29d959fda4b60b57566d64c98a202e0feb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -23,25 +23,26 @@
"type": "github" "type": "github"
} }
}, },
"androidPkgs": { "anki-cli": {
"inputs": { "inputs": {
"devshell": "devshell", "fenix": "fenix",
"flake-utils": "flake-utils", "naersk": "naersk",
"nixpkgs": "nixpkgs_3" "nixpkgs": [
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1750710155, "lastModified": 1776540672,
"narHash": "sha256-2lBEwXgclOrSsrhubSfifU91+sXqikC8qbiZ6yFeaEY=", "narHash": "sha256-D43SN81mM21icdtK/9JDwaXsIhFv+gm4G8KXhJDCxsQ=",
"owner": "tadfisher", "ref": "refs/heads/master",
"repo": "android-nixpkgs", "rev": "bcd83506ea691861562ade66ce23f57b27e57ee2",
"rev": "0846fab1f060f646e1017053077ad38dedc5207b", "revCount": 12,
"type": "github" "type": "git",
"url": "https://git.mtgmonkey.net/Andromeda/anki-cli.git"
}, },
"original": { "original": {
"owner": "tadfisher", "type": "git",
"ref": "stable", "url": "https://git.mtgmonkey.net/Andromeda/anki-cli.git"
"repo": "android-nixpkgs",
"type": "github"
} }
}, },
"base16": { "base16": {
@@ -150,57 +151,59 @@
"type": "github" "type": "github"
} }
}, },
"devshell": { "fenix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"robotnix", "anki-cli",
"androidPkgs",
"nixpkgs" "nixpkgs"
] ],
"rust-analyzer-src": "rust-analyzer-src"
}, },
"locked": { "locked": {
"lastModified": 1741473158, "lastModified": 1776153734,
"narHash": "sha256-kWNaq6wQUbUMlPgw8Y+9/9wP0F8SHkjy24/mN3UAppg=", "narHash": "sha256-QvkVX4Go+BnNgQQLc5Ma3WNBZOG5Jpdqsy8Ri0/CbSQ=",
"owner": "numtide", "owner": "nix-community",
"repo": "devshell", "repo": "fenix",
"rev": "7c9e793ebe66bcba8292989a68c0419b737a22a0", "rev": "a8b0e62fb39299fbeb1aa365f4b57e2c258a178e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "numtide", "owner": "nix-community",
"repo": "devshell", "repo": "fenix",
"type": "github" "type": "github"
} }
}, },
"disko": { "fenix_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"anki-cli",
"naersk",
"nixpkgs" "nixpkgs"
] ],
"rust-analyzer-src": "rust-analyzer-src_2"
}, },
"locked": { "locked": {
"lastModified": 1746728054, "lastModified": 1752475459,
"narHash": "sha256-eDoSOhxGEm2PykZFa/x9QG5eTH0MJdiJ9aR00VAofXE=", "narHash": "sha256-z6QEu4ZFuHiqdOPbYss4/Q8B0BFhacR8ts6jO/F/aOU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "fenix",
"rev": "ff442f5d1425feb86344c028298548024f21256d", "rev": "bf0d6f70f4c9a9cf8845f992105652173f4b617f",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "latest", "repo": "fenix",
"repo": "disko",
"type": "github" "type": "github"
} }
}, },
"firefox-gnome-theme": { "firefox-gnome-theme": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1764724327, "lastModified": 1775176642,
"narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=", "narHash": "sha256-2veEED0Fg7Fsh81tvVDNYR6SzjqQxa7hbi18Jv4LWpM=",
"owner": "rafaelmardojai", "owner": "rafaelmardojai",
"repo": "firefox-gnome-theme", "repo": "firefox-gnome-theme",
"rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047", "rev": "179704030c5286c729b5b0522037d1d51341022c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -212,15 +215,15 @@
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1761588595, "lastModified": 1767039857,
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "edolstra", "owner": "NixOS",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "edolstra", "owner": "NixOS",
"repo": "flake-compat", "repo": "flake-compat",
"type": "github" "type": "github"
} }
@@ -241,21 +244,6 @@
"url": "https://git.lix.systems/lix-project/flake-compat.git" "url": "https://git.lix.systems/lix-project/flake-compat.git"
} }
}, },
"flake-compat_3": {
"locked": {
"lastModified": 1746162366,
"narHash": "sha256-5SSSZ/oQkwfcAz/o/6TlejlVGqeK08wyREBQ5qFFPhM=",
"owner": "nix-community",
"repo": "flake-compat",
"rev": "0f158086a2ecdbb138cd0429410e44994f1b7e4b",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
@@ -285,11 +273,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1760948891, "lastModified": 1769996383,
"narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", "rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -306,11 +294,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1763759067, "lastModified": 1775087534,
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -319,24 +307,6 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"fromYaml": { "fromYaml": {
"flake": false, "flake": false,
"locked": { "locked": {
@@ -366,11 +336,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1763988335, "lastModified": 1775585728,
"narHash": "sha256-QlcnByMc8KBjpU37rbq5iP7Cp97HvjRP0ucfdh+M4Qc=", "narHash": "sha256-8Psjt+TWvE4thRKktJsXfR6PA/fWWsZ04DVaY6PUhr4=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "50b9238891e388c9fdc6a5c49e49c42533a1b5ce", "rev": "580633fa3fe5fc0379905986543fd7495481913d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -404,20 +374,18 @@
"gnome-shell": { "gnome-shell": {
"flake": false, "flake": false,
"locked": { "locked": {
"host": "gitlab.gnome.org", "lastModified": 1767737596,
"lastModified": 1764524476, "narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
"narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=",
"owner": "GNOME", "owner": "GNOME",
"repo": "gnome-shell", "repo": "gnome-shell",
"rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22", "rev": "ef02db02bf0ff342734d525b5767814770d85b49",
"type": "gitlab" "type": "github"
}, },
"original": { "original": {
"host": "gitlab.gnome.org",
"owner": "GNOME", "owner": "GNOME",
"ref": "gnome-49",
"repo": "gnome-shell", "repo": "gnome-shell",
"type": "gitlab" "rev": "ef02db02bf0ff342734d525b5767814770d85b49",
"type": "github"
} }
}, },
"home-manager": { "home-manager": {
@@ -448,11 +416,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1766980997, "lastModified": 1776562531,
"narHash": "sha256-oegDNAvyQwaG3GqSi4U5jpKM7SYHGESGVIuKMRV/lbw=", "narHash": "sha256-Lh5Ns9DI67E+lSMOCGK0S+mFPy0mz0yOGiJTUXiR9JI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "7a7b43c7231a439d248179ba8d561dd6cd81799b", "rev": "5b56ad02dc643808b8af6d5f3ff179e2ce9593f4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -464,16 +432,16 @@
"home-manager_3": { "home-manager_3": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nix-on-droid", "impermanence",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1709445365, "lastModified": 1768598210,
"narHash": "sha256-DVv6nd9FQBbMWbOmhq0KVqmlc3y3FMSYl49UXmMcO+0=", "narHash": "sha256-kkgA32s/f4jaa4UG+2f8C225Qvclxnqs76mf8zvTVPg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "4de84265d7ec7634a69ba75028696d74de9a44a7", "rev": "c47b2cc64a629f8e075de52e4742de688f930dc6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -483,12 +451,16 @@
} }
}, },
"impermanence": { "impermanence": {
"inputs": {
"home-manager": "home-manager_3",
"nixpkgs": "nixpkgs"
},
"locked": { "locked": {
"lastModified": 1737831083, "lastModified": 1769548169,
"narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=", "narHash": "sha256-03+JxvzmfwRu+5JafM0DLbxgHttOQZkUtDWBmeUkN8Y=",
"owner": "nix-community", "owner": "nix-community",
"repo": "impermanence", "repo": "impermanence",
"rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170", "rev": "7b1d382faf603b6d264f58627330f9faa5cba149",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -499,11 +471,11 @@
}, },
"mnw": { "mnw": {
"locked": { "locked": {
"lastModified": 1758834834, "lastModified": 1770419553,
"narHash": "sha256-Y7IvY4F8vajZyp3WGf+KaiIVwondEkMFkt92Cr9NZmg=", "narHash": "sha256-b1XqsH7AtVf2dXmq2iyRr2NC1yG7skY7Z6N2MpWHlK4=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "mnw", "repo": "mnw",
"rev": "cfbc7d1cc832e318d0863a5fc91d940a96034001", "rev": "2aaffa8030d0b262176146adbb6b0e6374ce2957",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -512,83 +484,58 @@
"type": "github" "type": "github"
} }
}, },
"naersk": {
"inputs": {
"fenix": "fenix_2",
"nixpkgs": [
"anki-cli",
"nixpkgs"
]
},
"locked": {
"lastModified": 1776193198,
"narHash": "sha256-U4w4GpgYt72z8pBKMDaqzlnPJRxI9pn+8tr7SOAxocE=",
"owner": "nix-community",
"repo": "naersk",
"rev": "e4e2ee6c9af67ecd4abb102fc32b9e49c70d92ff",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "naersk",
"type": "github"
}
},
"ndg": { "ndg": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_2" "nixpkgs": [
"nvf",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1765720983, "lastModified": 1768214250,
"narHash": "sha256-tWtukpABmux6EC/FuCJEgA1kmRjcRPtED44N+GGPq+4=", "narHash": "sha256-hnBZDQWUxJV3KbtvyGW5BKLO/fAwydrxm5WHCWMQTbw=",
"owner": "feel-co", "owner": "feel-co",
"repo": "ndg", "repo": "ndg",
"rev": "f399ace8bb8e1f705dd8942b24d207aa4d75c936", "rev": "a6bd3c1ce2668d096e4fdaaa03ad7f03ba1fbca8",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "feel-co", "owner": "feel-co",
"ref": "refs/tags/v2.6.0",
"repo": "ndg", "repo": "ndg",
"type": "github" "type": "github"
} }
}, },
"nix-formatter-pack": {
"inputs": {
"nixpkgs": [
"nix-on-droid",
"nixpkgs"
],
"nmd": [
"nix-on-droid",
"nmd"
],
"nmt": "nmt"
},
"locked": {
"lastModified": 1705252799,
"narHash": "sha256-HgSTREh7VoXjGgNDwKQUYcYo13rPkltW7IitHrTPA5c=",
"owner": "Gerschtli",
"repo": "nix-formatter-pack",
"rev": "2de39dedd79aab14c01b9e2934842051a160ffa5",
"type": "github"
},
"original": {
"owner": "Gerschtli",
"repo": "nix-formatter-pack",
"type": "github"
}
},
"nix-on-droid": {
"inputs": {
"home-manager": "home-manager_3",
"nix-formatter-pack": "nix-formatter-pack",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-docs": "nixpkgs-docs",
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap",
"nmd": "nmd"
},
"locked": {
"lastModified": 1765031149,
"narHash": "sha256-4ZtlnCp4blhsjGnQIxAXDAj7nCJKy7tozoBRtklmwcU=",
"owner": "nix-community",
"repo": "nix-on-droid",
"rev": "55b6449b4582a4ba3ce712543c973360a026db7d",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-on-droid",
"type": "github"
}
},
"nix-zulip": { "nix-zulip": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1764583012, "lastModified": 1775149560,
"narHash": "sha256-6ht4dtI1TBDAaB/Tatq+FcPexaZTBWuRiJGnioCDx5c=", "narHash": "sha256-UoF4z9JL0J5hh3d33ToZKY8ve1R3+3X7bPMVXxN2oMw=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "a9dd0f80d775745f1d88055f24d944562db97c5e", "rev": "0ee7f76d6d40f550e10041932aa73ea03b9915cd",
"revCount": 67, "revCount": 90,
"type": "git", "type": "git",
"url": "https://git.afnix.fr/nix-zulip/nix-zulip" "url": "https://git.afnix.fr/nix-zulip/nix-zulip"
}, },
@@ -607,11 +554,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1766321686, "lastModified": 1776557524,
"narHash": "sha256-icOWbnD977HXhveirqA10zoqvErczVs3NKx8Bj+ikHY=", "narHash": "sha256-mOIdjVcnB+IOdJu5FBvRJMD6gQSl7JZJopSiaW1bEdc=",
"owner": "simple-nixos-mailserver", "owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver", "repo": "nixos-mailserver",
"rev": "7d433bf89882f61621f95082e90a4ab91eb0bdd3", "rev": "fdb1be9b5064df55d5fe27247932aa0c01cd71d4",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@@ -622,11 +569,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1768305791, "lastModified": 1768564909,
"narHash": "sha256-AIdl6WAn9aymeaH/NvBj0H9qM+XuAuYbGMZaP0zcXAQ=", "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1412caf7bf9e660f2f962917c14b1ea1c3bc695e", "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -636,144 +583,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-docs": {
"locked": {
"lastModified": 1705957679,
"narHash": "sha256-Q8LJaVZGJ9wo33wBafvZSzapYsjOaNjP/pOnSiKVGHY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9a333eaa80901efe01df07eade2c16d183761fa3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-23.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-for-bootstrap": {
"locked": {
"lastModified": 1720244366,
"narHash": "sha256-WrDV0FPMVd2Sq9hkR5LNHudS3OSMmUrs90JUTN+MXpA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1764242076, "lastModified": 1776169885,
"narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=", "narHash": "sha256-l/iNYDZ4bGOAFQY2q8y5OAfBBtrDAaPuRQqWaFHVRXM=",
"owner": "NixOS", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4", "rev": "4bd9165a9165d7b5e33ae57f3eecbcb28fb231c9",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "nixos",
"ref": "nixos-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": {
"locked": {
"lastModified": 1750506804,
"narHash": "sha256-VLFNc4egNjovYVxDGyBYTrvVCgDYgENp5bVi9fPTDYc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4206c4cb56751df534751b058295ea61357bbbaa",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1767313136,
"narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ac62194c3917d5f474c1a844b6fd6da2db95077d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nmd": {
"inputs": {
"nixpkgs": [
"nix-on-droid",
"nixpkgs-docs"
],
"scss-reset": "scss-reset"
},
"locked": {
"lastModified": 1705050560,
"narHash": "sha256-x3zzcdvhJpodsmdjqB4t5mkVW22V3wqHLOun0KRBzUI=",
"owner": "~rycee",
"repo": "nmd",
"rev": "66d9334933119c36f91a78d565c152a4fdc8d3d3",
"type": "sourcehut"
},
"original": {
"owner": "~rycee",
"repo": "nmd",
"type": "sourcehut"
}
},
"nmt": {
"flake": false,
"locked": {
"lastModified": 1648075362,
"narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=",
"owner": "rycee",
"repo": "nmt",
"rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae",
"type": "gitlab"
},
"original": {
"owner": "rycee",
"repo": "nmt",
"type": "gitlab"
}
},
"noshell": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1717396029,
"narHash": "sha256-NPIhvnTYkJZqTY+aabbZ6CAaMAgG6IISvh7GZo1MTfQ=",
"owner": "viperML",
"repo": "noshell",
"rev": "4d194d838a50ea106cd0e47c024e47afc154ab42",
"type": "github"
},
"original": {
"owner": "viperML",
"repo": "noshell",
"type": "github"
}
},
"nur": { "nur": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
@@ -782,11 +607,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1767026366, "lastModified": 1776587421,
"narHash": "sha256-TqJXPpEPYfeFCbraquNdrB1dJYuEqV474Npv8UcNxrs=", "narHash": "sha256-rO2dca1U5xao5BMg+Os2HySVmQlq5hR49NNrGc9dEkg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "1f8c02a96c58c0dd90f2de45440b9ef01571abc3", "rev": "11f5d7471f1999a8130e953209765a19f2fb74e5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -807,11 +632,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1764773531, "lastModified": 1775228139,
"narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=", "narHash": "sha256-ebbeHmg+V7w8050bwQOuhmQHoLOEOfqKzM1KgCTexK4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "1d9616689e98beded059ad0384b9951e967a17fa", "rev": "601971b9c89e0304561977f2c28fa25e73aa7132",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -832,11 +657,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1766596669, "lastModified": 1776539146,
"narHash": "sha256-9C72hpMDa99n4MbqZqsBkrBQZe+HEN9lnu7Sme67nmU=", "narHash": "sha256-zuaO3Gi+HUf4Udv6wiCsK29SKh/Q6kwacpTn8gIwyZY=",
"owner": "notashelf", "owner": "notashelf",
"repo": "nvf", "repo": "nvf",
"rev": "ef1f22efaf4aa37ba9382a7d1807fa8ac9c097fd", "rev": "2809f4d43071e124f316ecf6dd0c68302f1078af",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -845,57 +670,73 @@
"type": "github" "type": "github"
} }
}, },
"robotnix": { "phoenix": {
"inputs": { "inputs": {
"androidPkgs": "androidPkgs", "nixpkgs": [
"flake-compat": "flake-compat_3", "nixpkgs"
"nixpkgs": "nixpkgs_4", ]
"treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1768481330, "lastModified": 1776592848,
"narHash": "sha256-hYKnwFBPI0IyH8YbW3kqci8AS6ZtV7QSEa0E5Wt401M=", "narHash": "sha256-xpoDCBLPNViU9kxDr8f2z1MuPLvrmCkrJxymUuanv88=",
"owner": "nix-community", "ref": "refs/heads/pages",
"repo": "robotnix", "rev": "1c69c28a9b6184529c0f756a386c6fbfde35a150",
"rev": "4ee0f9c86c3ae076bcbc41cbeebff054fe3d11a8", "revCount": 2812,
"type": "github" "type": "git",
"url": "https://codeberg.org/andromeda-fp/Phoenix"
}, },
"original": { "original": {
"owner": "nix-community", "rev": "1c69c28a9b6184529c0f756a386c6fbfde35a150",
"repo": "robotnix", "type": "git",
"type": "github" "url": "https://codeberg.org/andromeda-fp/Phoenix"
} }
}, },
"root": { "root": {
"inputs": { "inputs": {
"agenix": "agenix", "agenix": "agenix",
"disko": "disko", "anki-cli": "anki-cli",
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"impermanence": "impermanence", "impermanence": "impermanence",
"nix-on-droid": "nix-on-droid",
"nix-zulip": "nix-zulip", "nix-zulip": "nix-zulip",
"nixos-mailserver": "nixos-mailserver", "nixos-mailserver": "nixos-mailserver",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs_2",
"noshell": "noshell",
"nur": "nur", "nur": "nur",
"nvf": "nvf", "nvf": "nvf",
"robotnix": "robotnix", "phoenix": "phoenix",
"stylix": "stylix" "stylix": "stylix"
} }
}, },
"scss-reset": { "rust-analyzer-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1631450058, "lastModified": 1776115521,
"narHash": "sha256-muDlZJPtXDIGevSEWkicPP0HQ6VtucbkMNygpGlBEUM=", "narHash": "sha256-N/R1//Xd8vr84LtyTy8CVz7V2n9NJXXlJEODSunLE9c=",
"owner": "andreymatin", "owner": "rust-lang",
"repo": "scss-reset", "repo": "rust-analyzer",
"rev": "0cf50e27a4e95e9bb5b1715eedf9c54dee1a5a91", "rev": "5205b52ea60dd49c7e33dd2ad1a3e7ef55bb30ec",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "andreymatin", "owner": "rust-lang",
"repo": "scss-reset", "ref": "nightly",
"repo": "rust-analyzer",
"type": "github"
}
},
"rust-analyzer-src_2": {
"flake": false,
"locked": {
"lastModified": 1752428706,
"narHash": "sha256-EJcdxw3aXfP8Ex1Nm3s0awyH9egQvB2Gu+QEnJn2Sfg=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "591e3b7624be97e4443ea7b5542c191311aa141d",
"type": "github"
},
"original": {
"owner": "rust-lang",
"ref": "nightly",
"repo": "rust-analyzer",
"type": "github" "type": "github"
} }
}, },
@@ -912,19 +753,18 @@
"nixpkgs" "nixpkgs"
], ],
"nur": "nur_2", "nur": "nur_2",
"systems": "systems_4", "systems": "systems_3",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty", "tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes", "tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux", "tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1766603026, "lastModified": 1776170745,
"narHash": "sha256-J2DDdRqSU4w9NNgkMfmMeaLIof5PXtS9RG7y6ckDvQE=", "narHash": "sha256-Tl1aZVP5EIlT+k0+iAKH018GLHJpLz3hhJ0LNQOWxCc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "stylix", "repo": "stylix",
"rev": "551df12ee3ebac52c5712058bd97fd9faa4c3430", "rev": "e3861617645a43c9bbefde1aa6ac54dd0a44bfa9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -978,38 +818,6 @@
"type": "github" "type": "github"
} }
}, },
"systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tinted-foot": {
"flake": false,
"locked": {
"lastModified": 1726913040,
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github"
}
},
"tinted-kitty": { "tinted-kitty": {
"flake": false, "flake": false,
"locked": { "locked": {
@@ -1029,11 +837,11 @@
"tinted-schemes": { "tinted-schemes": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1763914658, "lastModified": 1772661346,
"narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=", "narHash": "sha256-4eu3LqB9tPqe0Vaqxd4wkZiBbthLbpb7llcoE/p5HT0=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "schemes", "repo": "schemes",
"rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c", "rev": "13b5b0c299982bb361039601e2d72587d6846294",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1045,11 +853,11 @@
"tinted-tmux": { "tinted-tmux": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1764465359, "lastModified": 1772934010,
"narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=", "narHash": "sha256-x+6+4UvaG+RBRQ6UaX+o6DjEg28u4eqhVRM9kpgJGjQ=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "tinted-tmux", "repo": "tinted-tmux",
"rev": "edf89a780e239263cc691a987721f786ddc4f6aa", "rev": "c3529673a5ab6e1b6830f618c45d9ce1bcdd829d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1061,11 +869,11 @@
"tinted-zed": { "tinted-zed": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1764464512, "lastModified": 1772909925,
"narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=", "narHash": "sha256-jx/5+pgYR0noHa3hk2esin18VMbnPSvWPL5bBjfTIAU=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "base16-zed", "repo": "base16-zed",
"rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a", "rev": "b4d3a1b3bcbd090937ef609a0a3b37237af974df",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1073,27 +881,6 @@
"repo": "base16-zed", "repo": "base16-zed",
"type": "github" "type": "github"
} }
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"robotnix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1766000401,
"narHash": "sha256-+cqN4PJz9y0JQXfAK5J1drd0U05D5fcAGhzhfVrDlsI=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "42d96e75aa56a3f70cab7e7dc4a32868db28e8fd",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View File

@@ -4,8 +4,8 @@
url = "github:ryantm/agenix"; url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
disko = { anki-cli = {
url = "github:nix-community/disko/latest"; url = "git+https://git.mtgmonkey.net/Andromeda/anki-cli.git";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
home-manager = { home-manager = {
@@ -18,18 +18,10 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nix-on-droid = {
url = "github:nix-community/nix-on-droid";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-zulip = { nix-zulip = {
url = "git+https://git.afnix.fr/nix-zulip/nix-zulip"; url = "git+https://git.afnix.fr/nix-zulip/nix-zulip";
flake = false; flake = false;
}; };
noshell = {
url = "github:viperML/noshell";
inputs.nixpkgs.follows = "nixpkgs";
};
nur = { nur = {
url = "github:nix-community/NUR"; url = "github:nix-community/NUR";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -38,7 +30,11 @@
url = "github:notashelf/nvf"; url = "github:notashelf/nvf";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
robotnix.url = "github:nix-community/robotnix"; phoenix = {
# TODO when pull #270 gets merged use celenity again
url = "git+https://codeberg.org/andromeda-fp/Phoenix?rev=1c69c28a9b6184529c0f756a386c6fbfde35a150";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = { stylix = {
url = "github:nix-community/stylix"; url = "github:nix-community/stylix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -46,17 +42,15 @@
}; };
outputs = { outputs = {
agenix, agenix,
disko, anki-cli,
home-manager, home-manager,
impermanence, impermanence,
nixos-mailserver, nixos-mailserver,
nixpkgs, nixpkgs,
nix-on-droid,
nix-zulip, nix-zulip,
noshell,
nur, nur,
nvf, nvf,
robotnix, phoenix,
stylix, stylix,
... ...
}: let }: let
@@ -73,18 +67,20 @@
./secrets.nix ./secrets.nix
./modules/nixos/common.nix ./modules/nixos/common.nix
agenix.nixosModules.default agenix.nixosModules.default
disko.nixosModules.disko
impermanence.nixosModules.impermanence impermanence.nixosModules.impermanence
nixos-mailserver.nixosModule nixos-mailserver.nixosModule
noshell.nixosModules.default
nix-zulip'.nixosModules.zulip nix-zulip'.nixosModules.zulip
{ phoenix.nixosModules.default
({pkgs, ...}: {
nixpkgs.overlays = [ nixpkgs.overlays = [
agenix.overlays.default agenix.overlays.default
nur.overlays.default nur.overlays.default
nix-zulip'.overlays.default nix-zulip'.overlays.default
(self: super: {
anki-cli = anki-cli.packages.${machine.system}.default;
})
]; ];
} })
] ]
++ machine.modules; ++ machine.modules;
}; };
@@ -119,20 +115,5 @@
builtins.mapAttrs builtins.mapAttrs
(hostname: value: configurationWithHomeManager value) (hostname: value: configurationWithHomeManager value)
machines; machines;
robotnixConfigurations.payton = robotnix.lib.robotnixSystem ./robotnix/payton.nix;
nixOnDroidConfigurations.default = nix-on-droid.lib.nixOnDroidConfiguration {
pkgs = import nixpkgs {system = "aarch64-linux";};
modules = [
./modules/nix-on-droid/nix-on-droid.nix
{
home-manager.useGlobalPkgs = true;
home-manager.users."andromeda" = {
imports = [
./modules/nix-on-droid/home.nix
];
};
}
];
};
}; };
} }

View File

@@ -30,11 +30,18 @@
./modules/nixos/sway.nix ./modules/nixos/sway.nix
# apps # apps
# UNFREE
./modules/nixos/steam.nix ./modules/nixos/steam.nix
./modules/nixos/phoenix.nix
# substitutors # substitutors
./substitutors.nix ./substitutors.nix
{
services.guix = {
enable = true;
stateDir = "/gnu/var";
};
}
]; ];
}; };
"109-199-104-83" = { "109-199-104-83" = {
@@ -42,28 +49,16 @@
system = "x86_64-linux"; system = "x86_64-linux";
users = []; users = [];
modules = [ modules = [
# impermanence
./modules/nixos/impermanence.nix
./modules/nixos/impermanence-ssh.nix
# hardware configuration # hardware configuration
# verbatim as `nixos-generate-config` AND `system.stateVersion` # from gitlab:whitequark/nixos-bite
./modules/nixos/machines/109-199-104-83.nix ./modules/nixos/machines/109-199-104-83.nix
./modules/nixos/disko/remote.nix
# boot process
# grub boot on /dev/sda
./modules/nixos/boot/109-199-104-83.nix
# networking # networking
./modules/nixos/networking/domains/galaxious.de.nix ./modules/nixos/networking/domains/galaxious.de.nix
# uses cloud-init to network
./modules/nixos/networking/networks/109-199-104-83.nix
# ssh through port 5522 among other things # ssh through port 5522 among other things
# andromeda@lenovo is the only user allowed access # andromeda@lenovo is the only user allowed access
./modules/nixos/networking/hard-ssh.nix ./modules/nixos/networking/hard-ssh.nix
./modules/nixos/networking/ssh-as-root.nix
({config, ...}: {users.users.root.openssh.authorizedKeys.keys = [config.pub-keys.ssh.andromeda];}) ({config, ...}: {users.users.root.openssh.authorizedKeys.keys = [config.pub-keys.ssh.andromeda];})
# simple-nixos-mailserver email server # simple-nixos-mailserver email server
@@ -74,10 +69,6 @@
# webmail.domain # webmail.domain
./modules/nixos/roundcube.nix ./modules/nixos/roundcube.nix
# matrix homeserver
# matrix.domain
./modules/nixos/matrix-continuwuity.nix
# BROKEN # BROKEN
# forgejo # forgejo
# git.domain # git.domain

View File

@@ -1,165 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
home = {
username = "andromeda";
homeDirectory = "/home/${config.home.username}";
stateVersion = "26.05";
packages = [
pkgs.brush
pkgs.dust
pkgs.fzf
pkgs.glow
pkgs.nix-output-monitor
pkgs.ranger
pkgs.rip2
pkgs.ripgrep
pkgs.tree
pkgs.zoxide
];
};
programs = {
bash = {
enable = true;
shellAliases = {
neofetch = "fastfetch";
ls = lib.mkForce "lsd";
ll = lib.mkForce "lsd -l";
l = "lsd -la";
cd = "z";
gg = "git log --oneline --abbrev-commit --all --graph --decorate --color";
md = "glow";
};
bashrcExtra = ''
PS1="\u@\h:\w$"
eval "$(zoxide init bash)"
'';
};
btop = {
enable = true;
settings = {
theme_background = false;
vim_keys = true;
rounded_corners = false;
graph_symbol = "braille";
update_ms = 150;
proc_sorting = "cpu lazy";
proc_gradient = false;
proc_left = true;
cpu_single_graph = true;
cpu_bottom = true;
clock_format = "/user@/host:/uptime@%H:%M";
background_update = true;
mem_graphs = false;
mem_below_net = true;
show_swap = false;
only_physical = true;
show_io_stat = true;
io_mode = false;
io_graph_combined = false;
};
};
fastfetch.enable = true;
git = {
enable = true;
settings = {
user = {
name = config.home.username;
email = "${config.home.username}@android";
};
init.defaultBranch = "master";
};
};
home-manager.enable = true;
lsd.enable = true;
nvf = {
enable = true;
settings.vim = {
autocomplete.nvim-cmp.enable = false;
formatter.conform-nvim = {
enable = true;
setupOpts.format_on_save = {
lsp_format = "fallback";
timeout_ms = 5000;
};
};
lsp.otter-nvim.enable = true;
git.enable = true;
keymaps = [
{
key = "<Down>";
mode = ["i" "n" "v" "c"];
action = "<NOP>";
}
{
key = "<Up>";
mode = ["i" "n" "v" "c"];
action = "<NOP>";
}
{
key = "<Left>";
mode = ["i" "n" "v" "c"];
action = "<NOP>";
}
{
key = "<Right>";
mode = ["i" "n" "v" "c"];
action = "<NOP>";
}
{
key = "jj";
mode = ["i"];
action = "<Esc>";
}
{
key = "kk";
mode = ["i"];
action = "<Esc>";
}
{
key = "jk";
mode = ["i"];
action = "<Esc>";
}
{
key = "kj";
mode = ["i"];
action = "<Esc>";
}
{
key = "<Esc>";
mode = ["i"];
action = "<Nop>";
}
];
languages = {
nix = {
enable = true;
format.enable = true;
lsp.enable = true;
};
haskell = {
enable = true;
lsp.enable = true;
};
};
lineNumberMode = "relative";
options = {
tabstop = 2;
shiftwidth = 2;
expandtab = true;
smarttab = true;
foldmethod = "indent";
number = true;
colorcolumn = "80";
};
statusline.lualine.enable = true;
syntaxHighlighting = true;
};
};
ssh.enable = true;
};
}

View File

@@ -1,5 +0,0 @@
{pkgs, ...}: {
environment.packages = [pkgs.git];
system.stateVersion = "26.05";
nix.settings.experimentalFeatures = ["nix-command" "flakes"];
}

View File

@@ -1,9 +0,0 @@
{
boot.loader.grub = {
efiSupport = true;
efiInstallAsRemovable = true;
};
age.identityPaths = [
"/persist/etc/ssh/ssh_host_ed25519_key"
];
}

View File

@@ -10,8 +10,8 @@
]; ];
# allows users to customize shell in `$XDG_CONFIG_HOME/shell` rather than # allows users to customize shell in `$XDG_CONFIG_HOME/shell` rather than
# needing /etc/shells. Useful for home-manager. Falls back. # needing /etc/shells. Useful for home-manager.
programs.noshell.enable = true; # programs.noshell.enable = true;
# cleans /tmp to maintain a tidy system # cleans /tmp to maintain a tidy system
boot.tmp.cleanOnBoot = true; boot.tmp.cleanOnBoot = true;

View File

@@ -1,64 +0,0 @@
{
disko.devices = {
disk = {
disk1 = {
device = "/dev/sda";
type = "disk";
content = {
type = "gpt";
partitions = {
# legacy boot
boot = {
name = "boot";
size = "1M";
type = "EF02";
};
# efi boot
esp = {
name = "ESP";
size = "512M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
# btrfs
# root is on nodev
root = {
size = "100%";
content = {
extraArgs = ["-f"]; # internet told me to, works
type = "btrfs";
subvolumes = {
# nix store
"/nix" = {
mountpoint = "/nix";
};
# persistant directory
"/persist" = {
mountpoint = "/persist";
};
};
};
};
};
};
};
};
nodev = {
# root
"/" = {
fsType = "tmpfs";
mountOptions = [
"defaults"
"mode=755" # stops security complaints
];
};
};
};
}

View File

@@ -7,6 +7,7 @@
"/var/log" "/var/log"
"/var/lib/nixos" "/var/lib/nixos"
"/var/lib/systemd/coredump" "/var/lib/systemd/coredump"
"/gnu"
]; ];
files = [ files = [
"/etc/machine-id" "/etc/machine-id"

View File

@@ -7,7 +7,7 @@
services.blueman.enable = true; services.blueman.enable = true;
# locale # locale
i18n.defaultLocale = "de_DE.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
time.timeZone = "Europe/Berlin"; time.timeZone = "Europe/Berlin";
# networking # networking

View File

@@ -1,25 +1,38 @@
# Do not modify this file! It was generated by nixos-generate-config {modulesPath, ...}: {
# and may be overwritten by future invocations. Please make changes system.stateVersion = "25.11";
# to /etc/nixos/configuration.nix instead.
{
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"]; # Hardware
boot.initrd.kernelModules = []; imports = [(modulesPath + "/profiles/qemu-guest.nix")];
boot.kernelModules = []; fileSystems."/" = {
boot.extraModulePackages = []; device = "/dev/sda1";
fsType = "ext4";
};
boot.loader.grub.device = "/dev/sda";
boot.loader.timeout = 30;
boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "xen_blkfront"];
boot.initrd.kernelModules = ["nvme"];
boot.tmp.cleanOnBoot = true;
swapDevices = []; zramSwap.enable = true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; # Networking
networking = {
system.stateVersion = "26.05"; useNetworkd = true;
usePredictableInterfaceNames = true;
};
systemd.network = {
enable = true;
networks."40-wan" = {
matchConfig.Name = "enx0050565f4fff";
address = ["2a02:c207:2299:8419::1/64" "109.199.104.83/20"];
routes = [
{
Gateway = "109.199.96.1";
GatewayOnLink = true;
}
{Gateway = "fe80::1";}
];
dns = ["2020:fe::10" "9.9.9.10"];
};
};
} }

View File

@@ -8,6 +8,7 @@
imports = [(modulesPath + "/installer/scan/not-detected.nix")]; imports = [(modulesPath + "/installer/scan/not-detected.nix")];
boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "sdhci_pci"]; boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "sdhci_pci"];
boot.initrd.kernelModules = []; boot.initrd.kernelModules = [];
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelModules = ["kvm-intel"]; boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = []; boot.extraModulePackages = [];
@@ -17,36 +18,70 @@
options = ["subvol=root"]; options = ["subvol=root"];
}; };
boot.initrd.postResumeCommands = lib.mkAfter '' boot.initrd.systemd = {
mkdir /btrfs_tmp services.impermanent-btrfs = {
mount ${config.fileSystems."/".device} /btrfs_tmp description = "saves old root and makes new one";
if [[ -e /btrfs_tmp/root ]]; then unitConfig.DefaultDependencies = false;
mkdir -p /btrfs_tmp/old_roots serviceConfig = {
timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:$M:%S") Type = "oneshot";
mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp" StandardOutput = "journal+console";
fi StandardError = "journal+console";
};
requiredBy = [
"initrd.target"
];
before = [
"sysroot.mount"
];
requires = [
"initrd-root-device.target"
];
after = [
"initrd-root-device.target"
"local-fs-pre.target"
];
script = ''
mkdir /btrfs_tmp
mount ${config.fileSystems."/".device} /btrfs_tmp
if [[ -e /btrfs_tmp/root ]]; then
mkdir -p /btrfs_tmp/old_roots
timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:$M:%S")
mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp"
fi
delete_subvolume_recursively() { delete_subvolume_recursively() {
IFS=$'\n' IFS=$'\n'
for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do
delete_subvolume_recursively "/btrfs_tmp/$i" delete_subvolume_recursively "/btrfs_tmp/$i"
done done
btrfs subvolume delete "$1" btrfs subvolume delete "$1"
} }
for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do
delete_subvolume_recursively "$i" delete_subvolume_recursively "$i"
done done
btrfs subvolume create /btrfs_tmp/root btrfs subvolume create /btrfs_tmp/root
mkdir /btrfs_tmp/root/persist mkdir /btrfs_tmp/root/persist
mkdir /btrfs_tmp/root/etc mkdir /btrfs_tmp/root/etc
mount ${config.fileSystems."/persist".device} /btrfs_tmp/root/persist -o subvol=persist mount ${config.fileSystems."/persist".device} /btrfs_tmp/root/persist -o subvol=persist
cp /btrfs_tmp/root/persist/etc/ssh /btrfs_tmp/root/etc/ssh -r cp /btrfs_tmp/root/persist/etc/ssh /btrfs_tmp/root/etc/ssh -r
umount /btrfs_tmp/root/persist umount /btrfs_tmp/root/persist
rm -r /btrfs_tmp/root/persist rm -r /btrfs_tmp/root/persist
umount /btrfs_tmp umount /btrfs_tmp
''; '';
};
extraBin = {
"mkdir" = "${pkgs.coreutils}/bin/mkdir";
"date" = "${pkgs.coreutils}/bin/date";
"stat" = "${pkgs.coreutils}/bin/stat";
"mv" = "${pkgs.coreutils}/bin/mv";
"cp" = "${pkgs.coreutils}/bin/cp";
"rm" = "${pkgs.coreutils}/bin/rm";
"btrfs" = "${pkgs.btrfs-progs}/bin/btrfs";
# find, mount, umount already there
};
};
fileSystems."/nix" = { fileSystems."/nix" = {
device = "/dev/disk/by-uuid/0e586651-36f4-42b0-99b3-3f0704a894d6"; device = "/dev/disk/by-uuid/0e586651-36f4-42b0-99b3-3f0704a894d6";

View File

@@ -37,10 +37,6 @@
forceSSL = true; forceSSL = true;
enableACME = true; enableACME = true;
}; };
"matrix.${config.networking.domain}" = {
forceSSL = true;
enableACME = true;
};
"${config.networking.domain}" = { "${config.networking.domain}" = {
forceSSL = true; forceSSL = true;
enableACME = true; enableACME = true;
@@ -51,15 +47,4 @@
acceptTerms = true; acceptTerms = true;
defaults.email = "mtgmonket@gmail.com"; defaults.email = "mtgmonket@gmail.com";
}; };
# persist directories per the backup guidelines
environment.persistence."/persist" = {
directories = [
# not needed bc the dkim dir is declared
# "/var/dkim"
"/var/vmail"
"/var/lib/redis-rspamd"
"/var/lib/acme"
];
};
} }

View File

@@ -1,26 +0,0 @@
{config, ...}: {
services = {
matrix-continuwuity = {
enable = true;
settings = {
global = {
server_name = "${config.networking.domain}";
address = ["127.0.0.1"];
port = [6167];
well_known = {
server = "matrix.${config.networking.domain}";
client = "https://matrix.${config.networking.domain}";
};
};
};
};
nginx = {
upstreams.matrix.servers."127.0.0.1:6167" = {};
virtualHosts = {
"matrix.${config.networking.domain}".locations."/".proxyPass = "http://matrix";
"${config.networking.domain}".locations."/.well-known/matrix".proxyPass = "http://matrix";
};
};
};
}

View File

@@ -4,7 +4,6 @@
allowSFTP = false; allowSFTP = false;
ports = [5522]; ports = [5522];
settings = { settings = {
PermitRootLogin = "no";
PasswordAuthentication = false; PasswordAuthentication = false;
KbdInteractiveAuthentication = true; KbdInteractiveAuthentication = true;
}; };

View File

@@ -1,15 +0,0 @@
{
networking = {
useDHCP = false;
hostName = "109-199-104-83";
firewall = {
enable = true;
allowedTCPPorts = [80 443];
allowedUDPPorts = [80 443];
};
};
services.cloud-init = {
enable = true;
network.enable = true;
};
}

View File

@@ -1,11 +0,0 @@
{
services.openvpn.servers = {
"173.249.5.230" = {config = ''config /etc/openvpn-confs/173.249.5.230.ovpn'';};
};
environment.persistence."/persist".directories = ["/etc/openvpn-confs"];
# turns out disabling ipv6 is a bad idea; I'm just going to enable v6 on the remote xD
# networking.enableIPv6 = lib.mkForce false;
# workaround; NetworkManager reenables ipv6 without the following
# boot.kernelParams = ["ipv6.disable=1"];
}

View File

@@ -1,45 +0,0 @@
{
pkgs,
config,
lib,
...
}: {
options.programs.firefox.phoenix = {
enable =
lib.mkEnableOption "Enable privacy & security hardening of Firefox using the Phoenix configs"
// {
default = true;
};
firefoxPackages = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = ["firefox"];
description = "The name of Firefox packages of current pkgs to patch with phoenix config and policy.";
};
};
config = let
cfg = config.programs.firefox.phoenix;
in
lib.mkIf cfg.enable {
assertions = [
{
assertion = !pkgs.stdenv.isDarwin;
message = "Phoenix module has not been ported to nix-darwin yet. Contributions welcomed.";
}
];
environment.etc."firefox/defaults/pref/phoenix-desktop.js".source = "${pkgs.phoenix}/pref/phoenix-desktop.js";
environment.etc."firefox/phoenix/userjs".source = "${pkgs.phoenix}/userjs";
environment.etc."firefox/phoenix/configs".source = "${pkgs.phoenix}/configs";
environment.etc."firefox/phoenix/assets".source = "${pkgs.phoenix}/assets";
programs.firefox.policies =
(builtins.fromJSON (builtins.readFile "${pkgs.phoenix}/policies.json")).policies;
nixpkgs.overlays = [
(import ../../overlays/phoenix.nix)
(
final: prev:
builtins.listToAttrs (
map (p: lib.nameValuePair p (final.withPhoenix prev.${p})) cfg.firefoxPackages
)
)
];
};
}

View File

@@ -9,8 +9,4 @@
$config['smtp_pass'] = "%p"; $config['smtp_pass'] = "%p";
''; '';
}; };
environment.persistence."/persist".directories = [
"/var/lib/roundcube"
"/var/lib/postgresql"
];
} }

View File

@@ -1,21 +0,0 @@
final: prev: let
phoenix-src = prev.fetchFromGitHub {
owner = "celenityy";
repo = "Phoenix";
rev = "07d9be8cbf938962f9847b0970274b885ff48792";
hash = "sha256-I9pKhfhAz3JsGBLIqr9MNycTEQn0Bc3jzf0mKeWLlsE=";
};
in {
phoenix = (final.callPackage (import "${phoenix-src}/nix/package.nix")
{
}).overrideAttrs {
patches = [
../patches/0001-autoDisableScopes-unlocked.patch
];
};
withPhoenix = firefoxPackage:
firefoxPackage.override {
extraPoliciesFiles = ["${final.phoenix}/policies.json"];
extraPrefsFiles = ["${final.phoenix}/phoenix.cfg"];
};
}

View File

@@ -1,25 +0,0 @@
From 1eeab7cf3b5d41e3e10959ef2ff5298eac86c9fa Mon Sep 17 00:00:00 2001
From: andromeda <andromeda@lenovo>
Date: Sun, 25 Jan 2026 10:41:03 +0100
Subject: [PATCH] autoDisableScopes unlocked
---
build/phoenix-unified.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build/phoenix-unified.js b/build/phoenix-unified.js
index e183890e..fd58b176 100644
--- a/build/phoenix-unified.js
+++ b/build/phoenix-unified.js
@@ -2204,7 +2204,7 @@ pref("xpinstall.whitelist.add.NoScript.PBM", "https://noscript.net^privateBrowsi
// https://archive.is/DYjAM
// https://support.mozilla.org/kb/deploying-firefox-with-extensions
// https://searchfox.org/firefox-main/rev/82e2435f/toolkit/mozapps/extensions/internal/AddonSettings.sys.mjs#125
-pref("extensions.autoDisableScopes", 15, locked); // [DEFAULT - non-Thunderbird] Defense in depth, ensures sideloaded extensions are always disabled by default...
+pref("extensions.autoDisableScopes", 15); // [DEFAULT - non-Thunderbird] Defense in depth, ensures sideloaded extensions are always disabled by default...
pref("extensions.enabledScopes", 5); // [HIDDEN]
pref("extensions.installDistroAddons", false); // [HIDDEN - non-Android] [DEFAULT - Android]
pref("extensions.sideloadScopes", 0); // [HIDDEN]
--
2.52.0

View File

@@ -18,7 +18,7 @@
ssh = { ssh = {
andromeda = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJy2VD362wUcu0lKj2d6OIU8dbAna0Lu/NaAYIj8gdIA andromeda@lenovo"; andromeda = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJy2VD362wUcu0lKj2d6OIU8dbAna0Lu/NaAYIj8gdIA andromeda@lenovo";
lenovo = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHG4eqsLTq2os2mxfwhys3BpVnowcJrqt2CbRFzN2pJb root@lenovo"; lenovo = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHG4eqsLTq2os2mxfwhys3BpVnowcJrqt2CbRFzN2pJb root@lenovo";
_109-199-104-83 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBH5TA6Br8K4xTjD5YcXQDh4UQSvuE0lEs1UxUytDiAn root@109-199-104-83"; _109-199-104-83 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPkg4vbyGDxrAtKFK7Pecr/qDK9cUjv+kfhQMjO6M/Ft root@vmi2998419";
}; };
}; };
} }

View File

@@ -1,13 +0,0 @@
{...}: {
flavor = "lineageos";
# motorola moto x4 (payton)
device = "payton";
# latest supported version:
# check https://download.lineageos.org/devices/payton/builds
flavorVersion = "22.2";
apps.fdroid.enable = true;
microg.enable = true;
}

View File

@@ -1,8 +1,7 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 mT2fyg ixFM7swaItfNnTRVSdTm1wZJ8lHUv7tDOgSXo1OpgCc -> ssh-ed25519 mT2fyg geMV+A9hasvKDnYiQMQWpz2o9mkUhX/Qmc1m4uvKIBs
lf8/ChfcpgYkK8mTS9Zk++toOu0KNh88S+Lqu4a0UIw 3vYZmwZPDVwqYRe2GHmxPXXx4qSWa3eqcWuH+sKWEYw
-> ssh-ed25519 UHxfvA hbsRwdzU1IP3K/gH0btUOQ8hZer8Kgq+RqzcEVrCqTE -> ssh-ed25519 UHxfvA FzNzq3yYNeDZ5x/g3cRVEaRu0txR3RORSeNFssrVuyc
iSVh+yeypHoalRhaRM2XMlBvtO8HCyatDnWgUyC3GWU dRQGhtVRMC65sHqlmxSXjwpsxtCqhifkVNWvBrrB4b8
--- hcs6DJZRvjoKDPI/cjUXRfM7+06PNJvWqjkvJof/bSs --- bHi+Q07PCpmPzalAkbaN+/H1tXLyJNbpBs3VMpDnSnU
Boƒp‡Qlg-§\§=Æ™ Ú¼ ðÛÒÙsv½Ì~×ÚOÔí{Rx×IErôs§1„¯v¹÷Ü:< +y¾2µÊZ4å<34>'RÔ”ÅÍPX—òR;HŠ”ÞHÆÏw‡éF7dÎñÖO¥<>߀•ïs«.„ó<E2809E>J<EFBFBD>èärXqB¬ûPÉ¢™XÖ<58>ËÈE£»%¿¡Öè+(ä^=øÙöeugïêS;“2
i¶Ÿ×1¾v»„KùÑýé¦*Ú |£ ¶´Ÿñ5[{­

View File

@@ -1,9 +1,10 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 mT2fyg x0n1JToeD7bRsDYJpv0HFzQYB9YxxiSqt+dG6elG1Eg -> ssh-ed25519 mT2fyg k+ePDybTbw1Pwy6P8+5HlGg6oCWQsTKVT4j/WUpZcCI
vspLec9Vm6fvJnlDGjzezThc1qeIYyWncBxYwsE/6rg F2ySmW8tJ1BDBvLbqtrTMrnPkESAtwXBgzcQ7nVh8+A
-> ssh-ed25519 UHxfvA nOlZo53SINXJs8tt/vdoiGjMnIW/lYZVdI8TJfAFqxE -> ssh-ed25519 UHxfvA /RzKa63+zOkHudFPCS1hLxj4PjGZCtZ2UIIK0mdItBQ
XlxvrHDFlm8c7odfNbBw0/QeYuCj5e4VValql5JNNgg TqdH3kQgMCEtG+rxx+dR+5/tcw05s63Dc1UFflRkoMA
-> ssh-ed25519 yXDKAA Rf+obXBUKxOcMqrb6rlOSfZGyjkj1PnRvHUSDToj6Tw -> ssh-ed25519 ZwF9sQ FvquxZ8PsmsoV06o4dBsKZOq46S08Rn1aT3Aco9TuDg
XV/3FmC48Wcg9r3C5soRKBwOcBgat2ueAa8pU1MUYLE UnBKQCYXPa897ahVsj90XsVPuU4RKQ8RmMStY8BuubQ
--- l/eEq13iyiddR9Rgf47Mv8JxPfjINwCnU4pd3KyxMVQ --- MbfHHesbaIlXIg5jziBe4YG95I85ZuikuJLc9F/TEeQ
^P%ÔϦ‚Û}ÌÝM¤Ñù&ߢهóQ¬?d^ØYú Ã~øTuÃï±oÍfž´·7¬nÙ'!'͓ㆆµ]d͇0>vÆÇŸ¸Ü.Ÿ€E]˜šÔ‡|‰>d— *wDÉ<44>¿­à<C2AD>­)cH<63>êÁ@W<>v*šWk<57>õéN¤ÎRßF I@¶ê;9=u¬Í¬°°Ï„Œ,—‘©)Ÿ>bÁÝ:O«Jð=´W L("Ùß%DYÅ$°Ový¤:G5ÏzèWsœ¡šÏpï<>/ËúðV¹}ëû2xˆ«gRT‰Ã3|Pµ°/§n¼•òÆcIq(7Q-W[ä»ÐØL]ØE¥LS%y3w}¶Œµ°€°“Ütµ/£¿äO /<<3C>þm ÜfþCôn4”ºÑPyÚ'%+NY´àB@>œF<>ÐÒ è`,æ-¯0Ox)<1D>á
Ä)kT”ÍVòBxYì

Binary file not shown.

View File

@@ -1,9 +1,9 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 mT2fyg at6Q9eK1o8Mk0+fJh+mnIVrvV1tASV+PGuV8MXuwR2c -> ssh-ed25519 mT2fyg gUoqW4Oc/4kGV97GqzjBgoAGbDlPr30HQjCSi95IakU
cm3wvsLAemeeTFok7yBocNlfwewKruPnymG+wsT5g+Y WLqdKLGAY//HKMhiWeOEbRkVTUm+bNcGCRwvZ+jxFiQ
-> ssh-ed25519 UHxfvA aaQqfrUfUnLzwUVT6nCRPIAVlIhIWAJcPyeg3J6BQUI -> ssh-ed25519 UHxfvA w82yDFitNUAnKzT/0mPNIm4Od9YLwDK+JIHBd6qRsSQ
4sh8ZV14csafSs8yAtFZIccSkiz6YnseV3DJcuhw7dQ uHYX5DugH0tLqLR1phnyYBNiP2XOV2Hj9tw63+MD1JI
-> ssh-ed25519 yXDKAA KmwRbJURujQhlqOIVxzlVjyvaYRfyuJAVGWMZdkFaAE -> ssh-ed25519 ZwF9sQ 6dTsOKixioy+ypnpWm1YtKYPrHcS/RSKsoq3o2bnjk8
mX083o2XdnnYgqLs5NeppwMbFHDHTucMiHHZuYdzLvo WYED7jkCVNLBaputl0JcfEz8GOX4doUNEihj6ZHx8Eo
--- Ay/SP2CXGOhSzO4KoiXFQhJMMdHaecxXOtNkGBK/RO0 --- XOUmVi4QpCXDy4yVCZuwiv8Sg+LOsX9vfydM6OqGfTM
Zÿ? áˆæFØ9_N`¶È8Õ÷å&<26>Îï@ëŽ)q€7aìO »?A³Ý'©p…@¶cUØ£Ì8º“1&9aXgÔyj°(óýz+$ P36£<36>ºîƒÊrçRDÊŒ7ªß¥.óÖ\:Ãþ­pcß<63>œÇp¯Ø€GÓ&+”Öb¢|žß<E28099> éÝ»YŽ

View File

@@ -1,10 +1,9 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 mT2fyg sRu0FIphSJVMBcC02mo1YuZdy3i2+/jMeN3ROvxp4kM -> ssh-ed25519 mT2fyg vcICwHDjTfVHh0+Ip1XKs/6Fo0H1i5lTjBAw1M4NSHA
sEwx23t3IAauISKesq+110ZKRKxQv3Zesd0AJufYOLs ZzxDjKEUdmyhFjPivAslXxr7tZnj7CVTcffuIhVdekI
-> ssh-ed25519 UHxfvA +YaJGPRT7nX2CqVzw1ixNLpW7MfzEnj44pSwj4iUwhI -> ssh-ed25519 UHxfvA UPc1hBrbx37a4wn/XBxjwQLOk1M0HnHbHpqAQFUhnn8
E2U6Q+4uesNCWK7uVSztrA84TU/n/xLFm3PJH0hO/EM girao3TUDhFe1knuCUtYOh39ukXumjd7s1qzXXLGPjQ
-> ssh-ed25519 yXDKAA V2kygl0BK/oYpKnnheslBO2YqXFdQWFgtqfmDNdgolc -> ssh-ed25519 ZwF9sQ O2QJh1Zsdu0tIA90pTv5NrfcXDAcYFyduq8AtTG7Ujs
NpJNN4nfrbgOav8Y38C9DwKFZH+QTRp/US/8kyo9m0o ahnpyUSFuSwW1Zx7WzqDXFJtYCaUfwJdCyyr5enLz5I
--- LdqtfywtHOAy3AZ7AexZU0TJMU/ugq+ZYN07706rNxY --- fYyjQduWvTrenIiJtljSkEZXuyTRWJOvx9LeWoI3ew0
± …ußߘLÒ8ïÎ:ÂT·$…<10> ñJë´+LÄ?„zÇÍü5rL(MìýÁÑiÀý˜<C3BD>ˆN±.W+ß·U28Èd$µ<>¯<EFBFBD>Á£8Üõm¡4:N´<g)©Š‰Ä&Í$Jþ=Ævœ
U$âApµnG NeÉ•£u y`!<21>ʤ®•Øf;ipvÙYˆ°V_3»ºN+±éªk#¨{û…ŽÊêWÑ*Ÿn(ÅËÎúÕ»G6ÒÉ Ýˆyc`<60>éqµ:$K]?Í—b=§'ü^Ï9

Binary file not shown.

Binary file not shown.

View File

@@ -1,10 +1,9 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 mT2fyg 5ADzKAtycqfFpqW/dp71FTaK2gchzdWFNqxPyZ6deSY -> ssh-ed25519 mT2fyg cz2kWYGsZU08Sh3+mJHqhTC9lhqHvwzmgIHu+SUkVxU
+aISA4YwF1l9S0fmE84wOvAJpM221bwPDYvXELTVv9k bDFcYokAEj4UulAtYNvW9inoRJzoD+z1lSCQRcpyd7o
-> ssh-ed25519 UHxfvA uKYcpPbaXA4r1OmlkuiIu/EqQ3IiHR7JpItnVgTaW2g -> ssh-ed25519 UHxfvA 0npgMgYOhrxSgprdVNXIRFtrkeMWL5xEoaOjg0MAu0M
LjySgI4mTlaZY81IJc6DmBh43l2qeGlQnZi+rOlbtb8 53VyXcDQxM7hoGt1deuJfKuOkKwz0P++JvUHOW7PxpQ
-> ssh-ed25519 yXDKAA TMwoM06ZJsjkZ7eLguxqYB05jcRn+tTgVzE7WQIf0mw -> ssh-ed25519 ZwF9sQ F+Hx3aJDjCAPe4wEhBg8kjZla/iF92kzFWfdh1ll0BU
vKwCkWsywGsgVv6Y278Mi28MhCYBRRUnfg4+EouOw+0 yUFzyxm40BVyIKLR/LfB2mTwNzIpPxJ0Ix1/x6vYVjg
--- CScrim9wya9AhElXBtKBR3XBZDL83/g3MTfdF258GJ8 --- PMzNF3mxVzePmAZBtX36NtPf04L7x30kCjv69G6nMSQ
K#Ð>8}cã§Ï}8‡ÅL¹(Ëôcò¶ ¼¡žˆÈ
Üw1ª"O“Ù

View File

@@ -1,10 +1,9 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 mT2fyg IOcD4r19Gx2AvjusnnJDHQXr/U4Ti6qKr01I9lNQDQE -> ssh-ed25519 mT2fyg eVTpn6pJgpLbIqorjaLhK+VRCcVIjYZEWkUqSmSWQQU
fCwouMQPvhkyzehszuv0YhSfNh9zGKaFNDKaTZT0rD0 j5C4x3gBgVoVmOZicfNu6r7QVebx8jFcWlvy0/Ku4jI
-> ssh-ed25519 UHxfvA e95raPehUz6T2FR/eT8kzfrxt/Ou6kKsqi7z/3BkfwU -> ssh-ed25519 UHxfvA Hnf8ZGN4cpyeR4VVEaQbatDP3mDj7XsfoTrpzYmLjDA
uHymqnY3t7IwpxWkN8xen3Vsy6R7VMoj+fR0zPnPinY 2lCD8WzjiIxYhSa69Jb1QO2tjFBikffBuMszpD2W1y0
-> ssh-ed25519 yXDKAA nlR1prGysW+k8gq2npEiboFqoo9jKQ5ISxRiiCFlb0s -> ssh-ed25519 ZwF9sQ 9Z6NdJ1Aeexe4NZmV/PO6ChB1B36U4MZura/jHgaxns
kaGOvlQgO0nOAl12mMKvafa9ezmy8XdUC2tVPuBG4iw V/xIoskMZQIIZGNwWK0THfhWX1dKk0cG8stawVJfCZo
--- MRFAGURoyediqNSjGxr57a0w6n9lH2zVjfyrUZcyAYw --- FNvKumqiJ1HBogji3Orpzo+gr0ug4ZxJUqBjaBuMgj8
uó*àaPj"µ2wÔ6Þø<C39E>C§_p=;$œ %²‡SœˆkÏžE¾oª-8
zä0

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -3,9 +3,7 @@
lib, lib,
machine, machine,
... ...
}: let }: {
machines = import ./machines.nix;
in {
users.users = users.users =
builtins.mapAttrs builtins.mapAttrs
(name: value: lib.mkIf (builtins.elem name machine.users) value) (name: value: lib.mkIf (builtins.elem name machine.users) value)
@@ -15,8 +13,9 @@ in {
description = "andromeda"; description = "andromeda";
hashedPasswordFile = builtins.toString config.age.secrets.andromeda-pw.path; hashedPasswordFile = builtins.toString config.age.secrets.andromeda-pw.path;
extraGroups = [ extraGroups = [
"networkmanager" "networkmanager" # network configuration
"wheel" "wheel" # serial
"dialout" # access to serial ports
]; ];
}; };
}; };
@@ -27,17 +26,22 @@ in {
"andromeda" = { "andromeda" = {
directories = [ directories = [
".backups" ".backups"
".gnupg"
".local/share/AAAAXY"
".local/share/Anki2" ".local/share/Anki2"
".local/share/chat.fluffy.fluffychat" ".local/share/chat.fluffy.fluffychat"
".local/share/Mindustry"
".local/share/Steam"
".local/share/zoxide" ".local/share/zoxide"
".ssh" ".ssh"
".steam"
"conf" "conf"
"Downloads" "Downloads"
"conf_v1"
"pp" "pp"
]; ];
files = [ files = [
".bash_history" ".bash_history"
".brush_history"
]; ];
}; };
} }

View File

@@ -18,7 +18,6 @@
}; };
in { in {
imports = [./stylix.nix]; imports = [./stylix.nix];
xdg.configFile."shell".source = lib.getExe pkgs.brush;
xdg.configFile."sway/config".source = lib.mkForce sway_config; xdg.configFile."sway/config".source = lib.mkForce sway_config;
wayland.windowManager.sway.enable = true; wayland.windowManager.sway.enable = true;
home = { home = {
@@ -26,26 +25,35 @@ in {
homeDirectory = "/home/${config.home.username}"; homeDirectory = "/home/${config.home.username}";
stateVersion = "26.05"; stateVersion = "26.05";
packages = [ packages = [
pkgs.aaaaxy
pkgs.acpi pkgs.acpi
pkgs.agenix pkgs.agenix
pkgs.alacritty pkgs.alacritty
pkgs.anki pkgs.anki
pkgs.anki-cli
pkgs.brightnessctl pkgs.brightnessctl
pkgs.brush
pkgs.dust pkgs.dust
pkgs.fluffychat pkgs.fluffychat
pkgs.fzf pkgs.fzf
pkgs.gdb
pkgs.geeqie
pkgs.glow pkgs.glow
pkgs.grim pkgs.grim
pkgs.hexdump
pkgs.http-server
pkgs.jmtpfs pkgs.jmtpfs
pkgs.mindustry-wayland
pkgs.nasm
pkgs.nix-output-monitor pkgs.nix-output-monitor
pkgs.npins pkgs.npins
pkgs.ranger pkgs.ranger
pkgs.rip2 pkgs.rip2
pkgs.ripgrep pkgs.ripgrep
pkgs.slurp pkgs.slurp
pkgs.tokei
pkgs.tree pkgs.tree
pkgs.zoxide pkgs.wget
pkgs.xxd
]; ];
file.${background-path}.source = config.stylix.image; file.${background-path}.source = config.stylix.image;
}; };
@@ -53,6 +61,7 @@ in {
alacritty.enable = true; alacritty.enable = true;
bash = { bash = {
enable = true; enable = true;
enableCompletion = false;
shellAliases = { shellAliases = {
neofetch = "fastfetch"; neofetch = "fastfetch";
ls = lib.mkForce "lsd"; ls = lib.mkForce "lsd";
@@ -64,7 +73,6 @@ in {
}; };
bashrcExtra = '' bashrcExtra = ''
PS1="\u@\h:\w$" PS1="\u@\h:\w$"
eval "$(zoxide init bash)"
''; '';
}; };
btop = { btop = {
@@ -104,13 +112,6 @@ in {
pkgs.nur.repos.rycee.firefox-addons.tridactyl pkgs.nur.repos.rycee.firefox-addons.tridactyl
]; ];
}; };
search = {
default = "DuckDuckGo (HTML)";
privateDefault = "DuckDuckGo (HTML)";
order = [
"DuckDuckGo (HTML)"
];
};
settings = { settings = {
"extensions.autoDisableScopes" = 0; "extensions.autoDisableScopes" = 0;
}; };
@@ -127,11 +128,15 @@ in {
}; };
}; };
gh.enable = true; gh.enable = true;
gpg = {
enable = true;
};
home-manager.enable = true; home-manager.enable = true;
lsd.enable = true; lsd.enable = true;
nvf = { nvf = {
enable = true; enable = true;
settings.vim = { settings.vim = {
startPlugins = [pkgs.vimPlugins.parinfer-rust];
autocomplete.nvim-cmp.enable = false; autocomplete.nvim-cmp.enable = false;
formatter.conform-nvim = { formatter.conform-nvim = {
enable = true; enable = true;
@@ -199,6 +204,12 @@ in {
enable = true; enable = true;
lsp.enable = true; lsp.enable = true;
}; };
rust = {
enable = true;
format.enable = true;
lsp.enable = true;
treesitter.enable = true;
};
}; };
lineNumberMode = "relative"; lineNumberMode = "relative";
options = { options = {
@@ -215,5 +226,13 @@ in {
}; };
}; };
ssh.enable = true; ssh.enable = true;
zoxide = {
enable = true;
enableBashIntegration = true;
};
};
services.gpg-agent = {
enable = true;
pinentry.package = pkgs.pinentry-curses;
}; };
} }