diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..533e162 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +.DS_Store +.idea +*.log +tmp/ + +result diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..4fbe9b0 --- /dev/null +++ b/flake.lock @@ -0,0 +1,566 @@ +{ + "nodes": { + "doom-emacs": { + "inputs": { + "doom-emacs": "doom-emacs_2", + "doom-snippets": "doom-snippets", + "emacs-overlay": "emacs-overlay", + "emacs-so-long": "emacs-so-long", + "evil-escape": "evil-escape", + "evil-markdown": "evil-markdown", + "evil-org-mode": "evil-org-mode", + "evil-quick-diff": "evil-quick-diff", + "explain-pause-mode": "explain-pause-mode", + "flake-compat": "flake-compat", + "flake-utils": "flake-utils", + "format-all": "format-all", + "nix-straight": "nix-straight", + "nixpkgs": [ + "fudo-home", + "nixpkgs" + ], + "nose": "nose", + "ob-racket": "ob-racket", + "org": "org", + "org-contrib": "org-contrib", + "org-yt": "org-yt", + "php-extras": "php-extras", + "revealjs": "revealjs", + "rotate-text": "rotate-text", + "sln-mode": "sln-mode", + "ts-fold": "ts-fold", + "ws-butler": "ws-butler" + }, + "locked": { + "lastModified": 1662238434, + "narHash": "sha256-kizN1H6cJqu7TCt+QQxoWw0f1WdO1hU4myhUiETpHsk=", + "owner": "nix-community", + "repo": "nix-doom-emacs", + "rev": "7b8c1c53537840f2656cacce267697eca7032727", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-doom-emacs", + "type": "github" + } + }, + "doom-emacs_2": { + "flake": false, + "locked": { + "lastModified": 1660901074, + "narHash": "sha256-3apl0eQlfBj3y0gDdoPp2M6PXYnhxs0QWOHp8B8A9sc=", + "owner": "doomemacs", + "repo": "doomemacs", + "rev": "c44bc81a05f3758ceaa28921dd9c830b9c571e61", + "type": "github" + }, + "original": { + "owner": "doomemacs", + "ref": "master", + "repo": "doomemacs", + "type": "github" + } + }, + "doom-snippets": { + "flake": false, + "locked": { + "lastModified": 1659894476, + "narHash": "sha256-1arRqlTos5uj6N47N4hyzHMMoUBxsxaZ/NK7iN5A+ZY=", + "owner": "doomemacs", + "repo": "snippets", + "rev": "f957f8d195872f19c7ab0a777d592c611e10e9bb", + "type": "github" + }, + "original": { + "owner": "doomemacs", + "repo": "snippets", + "type": "github" + } + }, + "emacs-overlay": { + "flake": false, + "locked": { + "lastModified": 1662056744, + "narHash": "sha256-DSVel5s2LajK2F+bxKwenfbDis63GprQLJjAfpfWgfU=", + "owner": "nix-community", + "repo": "emacs-overlay", + "rev": "6b4445aa659fa26b4f36d9975b34632312699a85", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "emacs-overlay", + "type": "github" + } + }, + "emacs-so-long": { + "flake": false, + "locked": { + "lastModified": 1575031854, + "narHash": "sha256-xIa5zO0ZaToDrec1OFjBK6l39AbA4l/CE4LInVu2hi0=", + "owner": "hlissner", + "repo": "emacs-so-long", + "rev": "ed666b0716f60e8988c455804de24b55919e71ca", + "type": "github" + }, + "original": { + "owner": "hlissner", + "repo": "emacs-so-long", + "type": "github" + } + }, + "evil-escape": { + "flake": false, + "locked": { + "lastModified": 1588439096, + "narHash": "sha256-aB2Ge5o/93B18tPf4fN1c+O46CNh/nOqwLJbox4c8Gw=", + "owner": "hlissner", + "repo": "evil-escape", + "rev": "819f1ee1cf3f69a1ae920e6004f2c0baeebbe077", + "type": "github" + }, + "original": { + "owner": "hlissner", + "repo": "evil-escape", + "type": "github" + } + }, + "evil-markdown": { + "flake": false, + "locked": { + "lastModified": 1626852210, + "narHash": "sha256-HBBuZ1VWIn6kwK5CtGIvHM1+9eiNiKPH0GUsyvpUVN8=", + "owner": "Somelauw", + "repo": "evil-markdown", + "rev": "8e6cc68af83914b2fa9fd3a3b8472573dbcef477", + "type": "github" + }, + "original": { + "owner": "Somelauw", + "repo": "evil-markdown", + "type": "github" + } + }, + "evil-org-mode": { + "flake": false, + "locked": { + "lastModified": 1607203864, + "narHash": "sha256-JxwqVYDN6OIJEH15MVI6XOZAPtUWUhJQWHyzcrUvrFg=", + "owner": "hlissner", + "repo": "evil-org-mode", + "rev": "a9706da260c45b98601bcd72b1d2c0a24a017700", + "type": "github" + }, + "original": { + "owner": "hlissner", + "repo": "evil-org-mode", + "type": "github" + } + }, + "evil-quick-diff": { + "flake": false, + "locked": { + "lastModified": 1575189609, + "narHash": "sha256-oGzl1ayW9rIuq0haoiFS7RZsS8NFMdEA7K1BSozgnJU=", + "owner": "rgrinberg", + "repo": "evil-quick-diff", + "rev": "69c883720b30a892c63bc89f49d4f0e8b8028908", + "type": "github" + }, + "original": { + "owner": "rgrinberg", + "repo": "evil-quick-diff", + "type": "github" + } + }, + "explain-pause-mode": { + "flake": false, + "locked": { + "lastModified": 1595842060, + "narHash": "sha256-++znrjiDSx+cy4okFBBXUBkRFdtnE2x+trkmqjB3Njs=", + "owner": "lastquestion", + "repo": "explain-pause-mode", + "rev": "2356c8c3639cbeeb9751744dbe737267849b4b51", + "type": "github" + }, + "original": { + "owner": "lastquestion", + "repo": "explain-pause-mode", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "format-all": { + "flake": false, + "locked": { + "lastModified": 1581716637, + "narHash": "sha256-ul7LCe60W8TIvUmUtZtZRo8489TK9iTPDsLHmzxY57M=", + "owner": "lassik", + "repo": "emacs-format-all-the-code", + "rev": "47d862d40a088ca089c92cd393c6dca4628f87d3", + "type": "github" + }, + "original": { + "owner": "lassik", + "repo": "emacs-format-all-the-code", + "rev": "47d862d40a088ca089c92cd393c6dca4628f87d3", + "type": "github" + } + }, + "fudo-home": { + "inputs": { + "doom-emacs": "doom-emacs", + "fudo-pkgs": "fudo-pkgs", + "home-manager": "home-manager", + "niten-doom-config": "niten-doom-config", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1662644674, + "narHash": "sha256-6yOL1P0W/xLPv9/SwStVLGwWpbm7/AbCcUIkRGp8Tic=", + "ref": "master", + "rev": "3b90c3886c3e5c92457b32fd9c3fd03bd256e3d0", + "revCount": 230, + "type": "git", + "url": "https://git.fudo.org/fudo-nix/home.git" + }, + "original": { + "type": "git", + "url": "https://git.fudo.org/fudo-nix/home.git" + } + }, + "fudo-lib": { + "locked": { + "lastModified": 1662498724, + "narHash": "sha256-WdIuSGykLw2fraDh72Riq/qe9/catYEiiLCdcU/urHs=", + "ref": "master", + "rev": "3d3eaa9cd790719e98367387a8ed75451d27cdb9", + "revCount": 88, + "type": "git", + "url": "https://git.fudo.org/fudo-nix/lib.git" + }, + "original": { + "type": "git", + "url": "https://git.fudo.org/fudo-nix/lib.git" + } + }, + "fudo-pkgs": { + "locked": { + "lastModified": 1662498213, + "narHash": "sha256-pdMR48dankBVPKUthaI6Ld0ctK8Pd2ORl6XE71YZy3Q=", + "ref": "master", + "rev": "e4803cb9d9318f3282a29d5f4c04ea70fbf2bd7f", + "revCount": 64, + "type": "git", + "url": "https://git.fudo.org/fudo-nix/pkgs.git" + }, + "original": { + "type": "git", + "url": "https://git.fudo.org/fudo-nix/pkgs.git" + } + }, + "fudo-pkgs_2": { + "locked": { + "lastModified": 1662498213, + "narHash": "sha256-pdMR48dankBVPKUthaI6Ld0ctK8Pd2ORl6XE71YZy3Q=", + "ref": "master", + "rev": "e4803cb9d9318f3282a29d5f4c04ea70fbf2bd7f", + "revCount": 64, + "type": "git", + "url": "https://git.fudo.org/fudo-nix/pkgs.git" + }, + "original": { + "type": "git", + "url": "https://git.fudo.org/fudo-nix/pkgs.git" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "fudo-home", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1656169755, + "narHash": "sha256-Nlnm4jeQWEGjYrE6hxi/7HYHjBSZ/E0RtjCYifnNsWk=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "4a3d01fb53f52ac83194081272795aa4612c2381", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-22.05", + "repo": "home-manager", + "type": "github" + } + }, + "niten-doom-config": { + "flake": false, + "locked": { + "lastModified": 1662569369, + "narHash": "sha256-py4C3ljRAMo4STexsCM0kOWuaFuk9uzdhbsveLr2wh4=", + "ref": "master", + "rev": "f5b865248d7c26b27ce6a4891c63cc40e5a610dd", + "revCount": 58, + "type": "git", + "url": "https://git.fudo.org/niten/doom-emacs.git" + }, + "original": { + "type": "git", + "url": "https://git.fudo.org/niten/doom-emacs.git" + } + }, + "nix-straight": { + "flake": false, + "locked": { + "lastModified": 1656684255, + "narHash": "sha256-ZefQiv4Ipu2VkLjs1oyelTLU7kBVJgkcQd+yBpJU0yo=", + "owner": "nix-community", + "repo": "nix-straight.el", + "rev": "fb8dd5c44cde70abd13380766e40af7a63888942", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-straight.el", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1662099760, + "narHash": "sha256-MdZLCTJPeHi/9fg6R9fiunyDwP3XHJqDd51zWWz9px0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "67e45078141102f45eff1589a831aeaa3182b41e", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-22.05", + "type": "indirect" + } + }, + "nose": { + "flake": false, + "locked": { + "lastModified": 1400604510, + "narHash": "sha256-daEi8Kta1oGaDEmUUDDQMahTTPOpvNpDKk22rlr7cB0=", + "owner": "emacsattic", + "repo": "nose", + "rev": "f8528297519eba911696c4e68fa88892de9a7b72", + "type": "github" + }, + "original": { + "owner": "emacsattic", + "repo": "nose", + "type": "github" + } + }, + "ob-racket": { + "flake": false, + "locked": { + "lastModified": 1584656173, + "narHash": "sha256-rBUYDDCXb+3D4xTPQo9UocbTPZ32kWV1Uya/1DmZknU=", + "owner": "xchrishawk", + "repo": "ob-racket", + "rev": "83457ec9e1e96a29fd2086ed19432b9d75787673", + "type": "github" + }, + "original": { + "owner": "xchrishawk", + "repo": "ob-racket", + "type": "github" + } + }, + "org": { + "flake": false, + "locked": { + "lastModified": 1662044935, + "narHash": "sha256-ZpxKw8L/IpxolkGyQMDut6V4i8I1T5za0QBBrztfcts=", + "owner": "emacs-straight", + "repo": "org-mode", + "rev": "e36c3cc21b8b1471e1f7928a118de693819c3f12", + "type": "github" + }, + "original": { + "owner": "emacs-straight", + "repo": "org-mode", + "type": "github" + } + }, + "org-contrib": { + "flake": false, + "locked": { + "lastModified": 1661026052, + "narHash": "sha256-rE7aioQxeVjo+TVI4DIppKkmf/c7tRNzK6hQJAmUnVE=", + "owner": "emacsmirror", + "repo": "org-contrib", + "rev": "0740bd3fe69c4b327420185d931dcf0a9900a80e", + "type": "github" + }, + "original": { + "owner": "emacsmirror", + "repo": "org-contrib", + "type": "github" + } + }, + "org-yt": { + "flake": false, + "locked": { + "lastModified": 1527381913, + "narHash": "sha256-dzQ6B7ryzatHCTLyEnRSbWO0VUiX/FHYnpHTs74aVUs=", + "owner": "TobiasZawada", + "repo": "org-yt", + "rev": "40cc1ac76d741055cbefa13860d9f070a7ade001", + "type": "github" + }, + "original": { + "owner": "TobiasZawada", + "repo": "org-yt", + "type": "github" + } + }, + "php-extras": { + "flake": false, + "locked": { + "lastModified": 1573312690, + "narHash": "sha256-r4WyVbzvT0ra4Z6JywNBOw5RxOEYd6Qe2IpebHXkj1U=", + "owner": "arnested", + "repo": "php-extras", + "rev": "d410c5af663c30c01d461ac476d1cbfbacb49367", + "type": "github" + }, + "original": { + "owner": "arnested", + "repo": "php-extras", + "type": "github" + } + }, + "revealjs": { + "flake": false, + "locked": { + "lastModified": 1660499724, + "narHash": "sha256-BhnEmX+8h0MVol7T4Zr2w53A+AmgzcVirpwHCR/G73U=", + "owner": "hakimel", + "repo": "reveal.js", + "rev": "b23d15c4304a9a1b72f484171fc97682e5ed85a3", + "type": "github" + }, + "original": { + "owner": "hakimel", + "repo": "reveal.js", + "type": "github" + } + }, + "root": { + "inputs": { + "fudo-home": "fudo-home", + "fudo-lib": "fudo-lib", + "fudo-pkgs": "fudo-pkgs_2", + "nixpkgs": "nixpkgs" + } + }, + "rotate-text": { + "flake": false, + "locked": { + "lastModified": 1322962747, + "narHash": "sha256-SOeOgSlcEIsKhUiYDJv0p+mLUb420s9E2BmvZQvZ0wk=", + "owner": "debug-ito", + "repo": "rotate-text.el", + "rev": "48f193697db996855aee1ad2bc99b38c6646fe76", + "type": "github" + }, + "original": { + "owner": "debug-ito", + "repo": "rotate-text.el", + "type": "github" + } + }, + "sln-mode": { + "flake": false, + "locked": { + "lastModified": 1423727528, + "narHash": "sha256-XqkqPyEJuTtFslOz1fpTf/Klbd/zA7IGpzpmum/MGao=", + "owner": "sensorflo", + "repo": "sln-mode", + "rev": "0f91d1b957c7d2a7bab9278ec57b54d57f1dbd9c", + "type": "github" + }, + "original": { + "owner": "sensorflo", + "repo": "sln-mode", + "type": "github" + } + }, + "ts-fold": { + "flake": false, + "locked": { + "lastModified": 1662006199, + "narHash": "sha256-gDelW/h2LyknTQNkHODvzCJCKelLdLIQoDh/L1lk3KA=", + "owner": "jcs-elpa", + "repo": "ts-fold", + "rev": "28409a0ceede0751ed9d520c6a19d1f5f1211502", + "type": "github" + }, + "original": { + "owner": "jcs-elpa", + "repo": "ts-fold", + "type": "github" + } + }, + "ws-butler": { + "flake": false, + "locked": { + "lastModified": 1634511126, + "narHash": "sha256-c0y0ZPtxxICPk+eaNbbQf6t+FRCliNY54CCz9QHQ8ZI=", + "owner": "hlissner", + "repo": "ws-butler", + "rev": "572a10c11b6cb88293de48acbb59a059d36f9ba5", + "type": "github" + }, + "original": { + "owner": "hlissner", + "repo": "ws-butler", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix index 1ec0428..9f053f7 100644 --- a/flake.nix +++ b/flake.nix @@ -8,90 +8,134 @@ url = "git+https://git.fudo.org/fudo-nix/home.git"; inputs.nixpkgs.follows = "nixpkgs"; }; + fudo-lib = { + url = "git+https://git.fudo.org/fudo-nix/lib.git"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; - outputs = { self, nixpkgs, fudo-pkgs, fudo-home, ... }: { - nixosConfigurations = let + outputs = { self, nixpkgs, fudo-pkgs, fudo-lib, fudo-home, ... }: + let system = "x86_64-linux"; + pkgs = import nixpkgs { inherit system; config = { allowUnfree = true; - permittedInsecurePackages = [ "openssh-with-gssapi-8.4p1" ]; + # permittedInsecurePackages = [ "openssh-with-gssapi-8.4p1" ]; }; overlays = [ fudo-pkgs.overlay ]; }; - in { - liveDisk = nixpkgs.lib.nixosSystem { - inherit system; - modules = [ - "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix" - fudo-home.nixosModules.default - ]; - config = with pkgs.lib; { - hardware.enableAllFirmware = true; - nixpkgs.config.allowUnfree = true; - environment.systemPackages = with pkgs; [ - btrfs-progs - git - gparted - nix-prefetch-scripts - wget - ]; + configModule = { pkgs, lib, ... }: + with lib; { + config = { + hardware.enableAllFirmware = true; + nixpkgs.config.allowUnfree = true; - users.users = { - niten = { - isNormalUser = true; - createHome = true; - hashedPassword = - "$6$uZZg5FFfgeXCaU18$zxp0YItRBl39mBAv8AxfwH2aTfbrSCrc0f/1GwfrPzAfJJDpe0p54850cqROxZYWKM.CG70OVnjiSxf.JjhTV/"; - extraGroups = [ "wheel" ]; - openssh.authorizedKeys.keys = [ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDGVez4of30f+j0cWKj5kYCKeFjyNsYvG9UbOMxF5hImD2lP5MSbFBv31gFgHjx3yCG4zQRZlpuyU5uWo0qIwe9N84/LcZcB9WrWKZXDmuof7zPFy0J+Hj+LVLDQI/mVXHNwkMhBMHpPrdwA05EYDAYCYklWT4cSByu10pHtST+olF8i+A+UQgUzgNZzdJVeiYZv6MBDTYsJWptGeDUkl2B0Es3gtbGYcCCfnyS3RC7DIXlDo3NBbAr7WaHY2MBbT+R/+jicn9E3IY3NCM5jENxqmvHy9MDsxEEYgFNm7IDwq4V1VRUWy277YsvRbmEaHb+osOA5u1VNN4z3UftOZcSZgR5C/vR71cENXoPt1YQpCzu7i38ojtvL+tDVEKT7sIovrQw8q1sszNlW2nXh8RSPiIq5TMnrV73MP0egKcr9n3tfxwi1BIkLjvfom/02BkTK9R9v+VMNhYU1YwROhORCiMIgoxUGiUvtH8u38JGr7E0hhMoAjCE5k80WPUivl0= niten@socrates" - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyFFV286npHAsnA1OCprLSZgdx/auUaldnNxB2MFE0iJX7R8ps1M9VkaxXdxIKB8x4PkKRTEkroouu+UmRBfKh3/QebRrKlvrElkc/d7CfIOJmssz4jRGa4t8rQEeB02ccl8Zb5ree2b3d6lbQl1QjyIwsrwpkqqw5znhD7N7fcfxg3PWnqyR2p0sy5CS5g76br6cwpD5Lk8nO0RhKR9mD5vW3kWSORCM+lNshfIilYqDwQtvsj9WcbhDKzgcY25t4tfgsjzOoPq/1+9LRluk2aoqe98QuVov0RANnzrsQhIgs8Ye9C39G8Lvcjusidy3ZSBcBiiq2R0Rvk8eA/gjMkXZ79ASPO8JwoNWum2DVn3ogz6rt+EaoI/yFqqs7d8gSRIjHklQDLXL1/6jH0jnyNxHH0hWJ8Vx41DKAaASObYRCb6eN4gYrrR3c+ZtQe7wQTxouEnZrAjHJG9pZxi39PXvB0TPXzmXxjBwzuFGQdczfLTn5fQtVVYPhv0yAzJk= niten@system3" - ]; + environment.systemPackages = with pkgs; [ + btrfs-progs + git + gparted + nix-prefetch-scripts + wget + ]; + + users.users = { + niten = { + isNormalUser = true; + createHome = true; + hashedPassword = + "$6$uZZg5FFfgeXCaU18$zxp0YItRBl39mBAv8AxfwH2aTfbrSCrc0f/1GwfrPzAfJJDpe0p54850cqROxZYWKM.CG70OVnjiSxf.JjhTV/"; + extraGroups = [ "wheel" ]; + openssh.authorizedKeys.keys = [ + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDGVez4of30f+j0cWKj5kYCKeFjyNsYvG9UbOMxF5hImD2lP5MSbFBv31gFgHjx3yCG4zQRZlpuyU5uWo0qIwe9N84/LcZcB9WrWKZXDmuof7zPFy0J+Hj+LVLDQI/mVXHNwkMhBMHpPrdwA05EYDAYCYklWT4cSByu10pHtST+olF8i+A+UQgUzgNZzdJVeiYZv6MBDTYsJWptGeDUkl2B0Es3gtbGYcCCfnyS3RC7DIXlDo3NBbAr7WaHY2MBbT+R/+jicn9E3IY3NCM5jENxqmvHy9MDsxEEYgFNm7IDwq4V1VRUWy277YsvRbmEaHb+osOA5u1VNN4z3UftOZcSZgR5C/vR71cENXoPt1YQpCzu7i38ojtvL+tDVEKT7sIovrQw8q1sszNlW2nXh8RSPiIq5TMnrV73MP0egKcr9n3tfxwi1BIkLjvfom/02BkTK9R9v+VMNhYU1YwROhORCiMIgoxUGiUvtH8u38JGr7E0hhMoAjCE5k80WPUivl0= niten@socrates" + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyFFV286npHAsnA1OCprLSZgdx/auUaldnNxB2MFE0iJX7R8ps1M9VkaxXdxIKB8x4PkKRTEkroouu+UmRBfKh3/QebRrKlvrElkc/d7CfIOJmssz4jRGa4t8rQEeB02ccl8Zb5ree2b3d6lbQl1QjyIwsrwpkqqw5znhD7N7fcfxg3PWnqyR2p0sy5CS5g76br6cwpD5Lk8nO0RhKR9mD5vW3kWSORCM+lNshfIilYqDwQtvsj9WcbhDKzgcY25t4tfgsjzOoPq/1+9LRluk2aoqe98QuVov0RANnzrsQhIgs8Ye9C39G8Lvcjusidy3ZSBcBiiq2R0Rvk8eA/gjMkXZ79ASPO8JwoNWum2DVn3ogz6rt+EaoI/yFqqs7d8gSRIjHklQDLXL1/6jH0jnyNxHH0hWJ8Vx41DKAaASObYRCb6eN4gYrrR3c+ZtQe7wQTxouEnZrAjHJG9pZxi39PXvB0TPXzmXxjBwzuFGQdczfLTn5fQtVVYPhv0yAzJk= niten@system3" + ]; + }; + + root = { + openssh.authorizedKeys.keys = [ + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDGVez4of30f+j0cWKj5kYCKeFjyNsYvG9UbOMxF5hImD2lP5MSbFBv31gFgHjx3yCG4zQRZlpuyU5uWo0qIwe9N84/LcZcB9WrWKZXDmuof7zPFy0J+Hj+LVLDQI/mVXHNwkMhBMHpPrdwA05EYDAYCYklWT4cSByu10pHtST+olF8i+A+UQgUzgNZzdJVeiYZv6MBDTYsJWptGeDUkl2B0Es3gtbGYcCCfnyS3RC7DIXlDo3NBbAr7WaHY2MBbT+R/+jicn9E3IY3NCM5jENxqmvHy9MDsxEEYgFNm7IDwq4V1VRUWy277YsvRbmEaHb+osOA5u1VNN4z3UftOZcSZgR5C/vR71cENXoPt1YQpCzu7i38ojtvL+tDVEKT7sIovrQw8q1sszNlW2nXh8RSPiIq5TMnrV73MP0egKcr9n3tfxwi1BIkLjvfom/02BkTK9R9v+VMNhYU1YwROhORCiMIgoxUGiUvtH8u38JGr7E0hhMoAjCE5k80WPUivl0= niten@socrates" + ]; + }; }; - root = { - openssh.authorizedKeys.keys = [ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDGVez4of30f+j0cWKj5kYCKeFjyNsYvG9UbOMxF5hImD2lP5MSbFBv31gFgHjx3yCG4zQRZlpuyU5uWo0qIwe9N84/LcZcB9WrWKZXDmuof7zPFy0J+Hj+LVLDQI/mVXHNwkMhBMHpPrdwA05EYDAYCYklWT4cSByu10pHtST+olF8i+A+UQgUzgNZzdJVeiYZv6MBDTYsJWptGeDUkl2B0Es3gtbGYcCCfnyS3RC7DIXlDo3NBbAr7WaHY2MBbT+R/+jicn9E3IY3NCM5jENxqmvHy9MDsxEEYgFNm7IDwq4V1VRUWy277YsvRbmEaHb+osOA5u1VNN4z3UftOZcSZgR5C/vR71cENXoPt1YQpCzu7i38ojtvL+tDVEKT7sIovrQw8q1sszNlW2nXh8RSPiIq5TMnrV73MP0egKcr9n3tfxwi1BIkLjvfom/02BkTK9R9v+VMNhYU1YwROhORCiMIgoxUGiUvtH8u38JGr7E0hhMoAjCE5k80WPUivl0= niten@socrates" - ]; + services.openssh = { + enable = true; + startWhenNeeded = true; + permitRootLogin = mkDefault "prohibit-password"; + }; + + i18n.defaultLocale = "en_US.UTF-8"; + console.useXkbConfig = true; + services.xserver = { + layout = "us"; + xkbVariant = "dvp"; + xkbOptions = "ctrl:nocaps"; + }; + + nix = { + package = pkgs.nixFlakes; + extraOptions = "experimental-features = nix-command flakes"; + }; + + programs = { + ssh = { + startAgent = true; + # package = pkgs.openssh_gssapi; + extraConfig = '' + GSSAPIAuthentication yes + GSSAPIDelegateCredentials yes + ''; + }; + }; + + krb5.libdefaults.default_realm = "FUDO.ORG"; + + fudo.home-manager = { + enable-gui = false; + enable-kitty-term = false; + local-domain = "fudo.org"; + + users.niten.user-email = "niten@fudo.org"; }; }; - services.openssh = { - enable = true; - startWhenNeeded = true; - permitRootLogin = mkDefault "prohibit-password"; - }; - - i18n.defaultLocale = "en_US.UTF-8"; - console.useXkbConfig = true; - services.xserver = { - layout = "us"; - xkbVariant = "dvp"; - xkbOptions = "ctrl:nocaps"; - }; - - nix = { - packages = pkgs.nixFlakes; - extraOptions = "experimental-features = nix-command flakes"; - }; - - programs = { - ssh = { - startAgent = true; - packages = pkgs.openssh_gssapi; - extraConfig = '' - GSSAPIAuthentication yes - GSSAPIDelegateCredentials yes - ''; - }; - }; }; + + builder = pkgs.writeShellScriptBin "build-image.sh" '' + nix build ".#nixosConfigurations.liveDisk.config.system.build.isoImage"''; + + in { + nixosConfigurations = { + liveDisk = with pkgs.lib; + nixpkgs.lib.nixosSystem { + inherit system pkgs; + modules = [ + "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix" + fudo-home.nixosModules.live-disk + configModule + ]; + }; }; + + apps.x86_64-linux = rec { + builder-app = { + type = "app"; + program = "${builder}/bin/build-image.sh"; + }; + + default = builder-app; + }; + + packages.x86_64-linux = { + inherit builder; + default = builder; + }; + + devShells.x86_64-linux.default = + pkgs.mkShell { buildInputs = with pkgs; [ builder nix ]; }; }; - }; }