Commit Graph

252 Commits

Author SHA1 Message Date
Colin 4e8ca1a30d flake: document how to update specific flake inputs 2023-03-29 12:04:43 +00:00
Colin e90a8b7b6e nix flake update: `nixpkgs` 2023-03-09 (nixos-unstable) -> 2023-03-28 (staging); others
this will break moby; will work to re-enable

```
• Updated input 'mobile-nixos':
    'github:nixos/mobile-nixos/9a0c317a027d1c085c641fe6df1f51b71880b720' (2023-03-03)
  → 'github:nixos/mobile-nixos/7a6e97e3af73c4cca87e12c83abcb4913dac7dbc' (2023-03-22)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/1e2590679d0ed2cee2736e8b80373178d085d263' (2023-03-09)
  → 'github:nixos/nixpkgs/f027fe965cc27f258e9f7ffd3d0cec011e51a41c' (2023-03-28)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/1568702de0d2488c1e77011a9044de7fadec80c4' (2023-03-10)
  → 'github:Mic92/sops-nix/4740f80ca6e756915aaaa0a9c5fbb61ba09cc145' (2023-03-26)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/d51554151a91cd4543a7620843cc378e3cbc767e' (2023-03-04)
  → 'github:NixOS/nixpkgs/da26ae9f6ce2c9ab380c0f394488892616fc5a6a' (2023-03-25)
```
2023-03-28 09:17:56 +00:00
Colin f6d3c102fa flake: fix so `nix flake check` passes 2023-03-11 10:01:25 +00:00
Colin a56b31cdac get moby packages to selectively use ccache
this is a liiittle bit weird: we might want to just apply it to
everything.
2023-03-05 09:25:03 +00:00
Colin df9716e244 WIP: try to get moby builds to use ccache, god damnit 2023-03-05 07:20:38 +00:00
Colin 3ed8e0cb44 FIX nix-serve: migrate to a package built against older `nix` 2023-03-03 01:48:04 +00:00
Colin 0625eb1bf8 flake: add "applications" to deploy to moby 2023-03-02 07:49:29 +00:00
Colin dfebedbd6c flake: make separate `cross` and `emulated` package sets (so i can build non-cross systems again) 2023-03-01 23:33:32 +00:00
Colin 3caa072d00 flake: fix the unstable hashing by `import`ing the nixpatches flake instead of specifying it as input 2023-03-01 13:01:41 +00:00
Colin 15755a8a71 WIP: reduce emulated cross pkgset; aborted x86-x86 cross compilation 2023-02-21 01:25:42 +00:00
Colin 5715795d1f WIP: moby-cross: is cross-by-default instead of opt-in 2023-02-21 01:19:00 +00:00
Colin e0a6f8ea4a flake: add `host-pkgs.<host>.<pkg>` output
this builds packages precisely as they are defined by the given host.
significant for testing whether a cross-compiled host builds things
correctly, for example.
2023-02-05 19:34:32 +00:00
Colin eae075acb5 flake: remove unused nixpkgs-stable argument. we can re-add it when needed 2023-01-31 04:09:49 +00:00
Colin 39effa15ad flake: remove unused home-manager input 2023-01-30 01:56:22 +00:00
colin 026746a76f flake.nix: document the `init-feed` "app" 2023-01-21 06:22:18 +00:00
colin 016384aa2b nixpatches: move the list to the nixpatches flake instead of injecting it 2023-01-16 06:46:59 +00:00
colin bd504f6c83 pin `nheko` package 2023-01-15 07:52:21 +00:00
colin bdd309eb15 flake: convert `path:nixpatches` -> `./nixpatches` to fix poor flake input invalidation 2023-01-15 07:36:04 +00:00
colin eedc1170ec fix: remove kiwix-tools patch & improve nixpatches sub-flake UX 2023-01-15 04:27:42 +00:00
colin 5a586c6e3c flake: migrate back to the more-efficient github: input scheme 2023-01-15 04:10:10 +00:00
colin 371bcad650 flake.nix: use conventional URIs, no custom shit 2023-01-14 23:28:12 +00:00
colin c0f76ea8d8 flake: add flake feedback info for nix devs/readers 2023-01-14 23:20:38 +00:00
colin fc70889c34 Revert "import nix-script": it doesn't provide benefit over nix-shell
This reverts commit fe15cdd705.

although it *does* support generating derivation text,
import-from-derivation on the results is too clunky to actually be
usable in practice. it frequently mysteriously hangs instead.
2023-01-14 04:01:04 +00:00
colin fe15cdd705 import nix-script
this is a tool i can use like `nix-shell`, but it should be more
amenable to packaging. `nix-script --export --build-root .
./my-script.sh` gives a derivation which i should be able to
`callPackage` on.
2023-01-13 15:08:30 +00:00
colin fd7acc8fc8 let host nix (i.e. nix-shell, nix-locate) know about our patched nixpkgs and overlays 2023-01-13 09:41:05 +00:00
colin e439d398b6 flake: patch using the target system instead of the host 2023-01-13 09:05:00 +00:00
colin e6d9edf27d feeds: add a script to initialize a feed, as well 2023-01-11 10:41:39 +00:00
colin 78782d5f7e flake: update-feeds now actually does update *all* feeds 2023-01-11 10:31:00 +00:00
colin 91275f3723 flake: make an `app` which updates one feed 2023-01-11 10:22:25 +00:00
colin 4c475bbf9c flake: formatting nit 2023-01-11 09:33:59 +00:00
colin 7040e1f07c flake: rename decl-host -> evalHost 2023-01-11 09:31:05 +00:00
colin aafa64942c flake: simplify the definition of `packages` 2023-01-11 09:29:49 +00:00
colin a44a99e371 flake: simplify the imgs/nixosConfigurations definition 2023-01-11 09:24:24 +00:00
colin a7ff90c843 flake: nixpkgs can now be built without specifying `nixpkgs.` as a prefix 2023-01-11 09:21:09 +00:00
colin d4996d6f31 flake: fix passthru overlays (fixes broken image building) 2023-01-11 09:08:46 +00:00
colin bd5209c655 move cross compilation out of the flake and into the host definitions 2023-01-11 08:56:06 +00:00
colin 9588108fd5 restructure flake so that nixosConfigurations mostly just references the other flake outputs 2023-01-11 08:45:41 +00:00
colin 942e302afb flake: fix crossFrom.aarch64-linux to actually be compiled from that system 2023-01-11 07:51:19 +00:00
colin 2bd98e6764 flake: clean up nixpkgsFor-related functions 2023-01-11 07:50:32 +00:00
colin 7b9910f287 reorder `pkgs.cross` definition for better readability 2023-01-11 07:37:01 +00:00
colin 917afe209e try to do cross-compiling in a slightly less hacky way 2023-01-11 07:22:21 +00:00
colin cc5cf9b6f4 flake: format 2023-01-11 05:58:07 +00:00
colin 57d95dd298 flake: document the weird importing 2023-01-10 17:51:04 +00:00
colin 0b78df53be change the nixpkgs url type so that it hashes stably 2023-01-10 17:44:58 +00:00
colin c8dcb4ac59 flake: lift the nixpkgs patching out to its own flake
i hope it's a *little* cleaner this way, but tbh i'm not really sure.
2023-01-10 17:00:48 +00:00
colin 175bc0709f remove external impermanence library 2023-01-04 02:18:03 +00:00
colin 01e44c1f7f flake.nix: remove unused specialArgs 2023-01-03 14:18:57 +00:00
colin 57f5521ef3 grpc: unpin (seems to build OK) 2023-01-03 03:05:07 +00:00
colin 8c7700688f nixpatches: add kiwix-tools package that's being upstreamed 2022-12-16 01:22:38 +00:00
colin 995b41d1e8 flake: update nixpkgs-stable 22.05 -> 22.11 2022-12-14 22:32:41 +00:00
colin 329693c9ce pin grpc & users, until the grpc aarch64 build is fixed 2022-12-14 12:27:24 +00:00
colin 0253774622 add `templates.python-data`
for more info, see
<https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake-init.html>
2022-11-30 00:48:27 +00:00
colin ff9c26b03d servo: port to Ryzen/x86 machine 2022-11-29 02:20:18 +00:00
colin 04ea55499a gocryptfs: don't cross build 2022-11-22 13:46:44 +00:00
colin 43fa7fdd9f rename `machines` -> `hosts`
- shorter.
- congruent with `nixos-rebuild .` choosing what to build based on `hostname`.
- more widely used within other nix repos i've seen.
- more accurate in the case that i migrate a host to a different
machine (which i plan to do with servo).
2022-11-22 02:33:47 +00:00
colin c3eacf7126 unpin electrum, sequoia
they build now
2022-11-08 09:08:51 +00:00
colin 10a665d11c add a `servo-cross` target
though it looks like rpi4 linux actually fails to cross-compile due to
some RMW page error
2022-11-06 06:04:54 -08:00
colin 5ff47b3719 remove unused `rycee` flake input
it was previously used for browser addons: i've since moved those
in-house for technical reasons.
2022-11-01 16:07:57 -07:00
colin 9acf2dfde1 gocryptfs: cross-compile for aarch64 2022-10-31 03:05:24 -07:00
colin 6236c14def vendor librewolf addons instead of fetching them on first run
this obviously speeds up startup, it's hopefully also less likely to
break surprisingly, and i hope it's the path to me shipping forks of
official extensions.
2022-10-27 03:20:29 -07:00
colin 4c4b73f693 refactor: `helpers/set-hostname.nix` becomes `machines/instantiate.nix` 2022-10-24 06:06:11 -07:00
colin 5b5187bd03 flake update: nixpkgs 2022-10-09 -> 2022-10-13, others
```
• Updated input 'mobile-nixos':
    'github:nixos/mobile-nixos/0bf9b6da8c4d0ee31c3e988c99893de4da7df74a' (2022-10-10)
  → 'github:nixos/mobile-nixos/e4b6f680b2a4f29f087a7c1299c11499d1a367b6' (2022-10-14)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/34c5293a71ffdb2fe054eb5288adc1882c1eb0b1' (2022-10-09)
  → 'github:NixOS/nixpkgs/ba187fbdc5e35322c7dff556ef2c47bddfd6e8d7' (2022-10-13)
• Updated input 'nixpkgs-stable':
    'github:NixOS/nixpkgs/e179d1e57ad07f1294dcc29ad5283b214a6ae21e' (2022-10-10)
  → 'github:NixOS/nixpkgs/e06bd4b64bbfda91d74f13cb5eca89485d47528f' (2022-10-12)
• Updated input 'uninsane':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs%2fheads%2fmaster&rev=25df079540cb669fb5e735631fe03a4d113d1c73' (2022-10-11)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs%2fheads%2fmaster&rev=70e7d8e94a6240a5ce976bbc514e0979b7178190' (2022-10-14)
```
2022-10-13 21:41:02 -07:00
colin e858afea72 add uninsane.org sources as a flake input
one can build the site from here with:

```
nix build '.#uninsane.uninsane-dot-org'
```
2022-10-11 03:22:40 -07:00
colin 4abac0162f remove `impermanence` nixpkgs override 2022-10-11 02:20:36 -07:00
colin fbd8a70102 flake: plumb my nixpkgs through to dependencies 2022-10-10 17:19:57 -07:00
colin 5929286397 update nixpkgs: 2022-09-30 -> 2022-10-02
have to add nixpkgs stable to pin electrum to a buildable version

```
• Updated input 'mobile-nixos':
    'github:nixos/mobile-nixos/42a30393b5eccaf7f73104fc39a71f0801340f5f' (2022-10-01)
  → 'github:nixos/mobile-nixos/efa5b5fae930370753d2e09361b38d10f0e0a00d' (2022-10-03)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/10ecda252ce1b3b1d6403caeadbcc8f30d5ab796' (2022-09-30)
  → 'github:NixOS/nixpkgs/59d2991d4256cdca1c0cda45d876c80a0fe45c31' (2022-10-02)
```
2022-10-03 13:49:01 -07:00
colin f9c8563506 switch to nixos-unstable. some notes:
- fluffychat doesn't build, so disabled (that's a known issue with the
  active flutter work).
- everything else builds, lappy boots OOTB fine.
        - brower works
        - vim works
        - Element starts
        - Sublime Music works
        - Discord works (verrry slow to load -- maybe just a first update thing)
2022-09-20 22:31:47 -07:00
colin c39170be23 formatting nits 2022-08-24 19:46:10 -07:00
colin 2ba1678cd8 remove `nixpkgs` input from modules/ or machines/ 2022-08-11 17:05:10 -07:00
colin c162225789 moby: rework the cross-compiling situation
we build the `pkgs.cross` kernel, which can be emulated or
cross-compiled based on the specific target (`moby` v.s. `moby-cross`).
2022-08-11 17:02:41 -07:00
colin f86c6390a5 image building instructions: no need to manually create /persist dirs anymore 2022-08-02 17:10:32 -07:00
colin 7d39a761cf flake: fix docs about `root:nixbld` ownership 2022-08-02 15:59:28 -07:00
colin 1a159c8340 Merge branch 'master' of git.uninsane.org:colin/nix-files 2022-07-14 16:24:02 -07:00
colin d4d345ca12 machines: add a `rescue` machine for live-booting 2022-07-14 16:21:59 -07:00
colin 1062a610c9 image building notes: mkdir /var/log, /var/lib 2022-07-12 02:51:15 -07:00
colin 7ec1879f90 home-manager: import from flake.nix, not env/home-manager.nix 2022-07-06 14:36:14 -07:00
colin a100100e79 impermanence: move import into flake.nix 2022-07-06 14:17:29 -07:00
colin 0fa7cdaa76 remove dead reference to telegram 2022-07-06 14:03:45 -07:00
colin c673e1db92 remove unused nurpkgs 2022-07-06 14:03:28 -07:00
colin 2e8eaab536 flake.nix: document the image building/flashing process
i wish i could fixup the perms automatically,
but `chown root:root` during the image building doesn't seem to work
reliably. hmm.
2022-06-24 16:04:25 -07:00
colin d1aa9d190e expose `packages` to the toplevel flake
this lets us build custom packages, separately from the entire system.

i also change the overlay slightly, just because it doesn't make sense
to induce the recursive case or relying on `next` when not necessary.
2022-06-23 23:26:51 -07:00
colin a299f111a4 move patch list out of flake.nix 2022-06-23 16:03:58 -07:00
colin fe51bb9ab4 flake: remove extraneous toplevel items from `outputs` 2022-06-23 15:57:20 -07:00
colin f7da8e2218 flake: simplify decl-bootable-machine 2022-06-23 15:53:35 -07:00
colin 5fe65a1c52 flake: remove unused parameters 2022-06-23 15:49:59 -07:00
colin 6801e934af move the custom packages overlay into pkgs/overlay.nix 2022-06-23 15:47:35 -07:00
colin f0857181c0 decrease the moby-specific stuff in flake.nix 2022-06-23 15:42:20 -07:00
colin 835036fc6a make image.nix a first-class module 2022-06-23 15:31:19 -07:00
colin d80bd7d162 inline image building, and (for lappy) use a generic-extlinux-compatible bootloader
the generic bootloader will allow more code-sharing with rpi and
pinephone. desko should soon use the generic bootloader as well.

problems: lappy can't boot from USB stick. it makes it to the initrd,
but there's no dev nodes for the USB drive.
unsure if this is how it was before, too.
2022-06-23 00:24:39 -07:00
colin fa131fe39f lappy: enable impermanence
it mostly went smooth, though i lost a .ssh key.
probably the best upgrade process is to do most of the heavy work in the
initrd:

write the new nix config, notably, configuring a tmpfs / mount
and moving the previous / to /nix.
then boot and in the initrd, move all the `/nix/nix/...` items
up a level.
2022-06-20 03:28:01 -07:00
colin e6a88b41b2 replace whalebird patch with upstream patch 2022-06-19 16:15:07 -07:00
colin a9d167cf14 remove configuration.nix
it's no longer needed in nixos-22.05
2022-06-14 02:48:22 -07:00
Colin 2b8ff8d5ae rename 'uninsane' machine -> 'servo' 2022-06-12 15:11:41 -07:00
colin c11f565226 create a package to hold useful system scripts 2022-06-11 17:40:15 -07:00
colin 86a15aaa83 update install instructions 2022-06-10 00:20:38 -07:00
Colin 492506ab01 remove the last remnants of the old `secrets` system.
using SOPS exclusively now
2022-06-08 17:07:48 -07:00
Colin a313f61351 duplicity: migrate secrets to sops 2022-06-07 02:33:11 -07:00
colin d28738eb0e gui/sway: port to module system 2022-06-06 17:35:28 -07:00
colin 1c16348724 secrets: add an example sops secret 2022-06-06 16:39:27 -07:00
colin 6eff3e8f11 nixpatches: fold the whalebird stuff together to match github PR 2022-06-05 21:25:58 -07:00
colin 7de4160121 remove phosh patch and use upstream diff 2022-06-05 21:19:03 -07:00
colin 9f6eb846f9 whalebird: upstream 2022-06-05 14:53:57 -07:00
colin 0a69b13424 try to add Kaiteki as a package
requires updating dart (flutter), which is causing problems...
2022-06-05 04:02:59 -07:00
colin d291908d1b port whalebird to aarch64 (untested)
built on x86-64; not yet built on aarch64
2022-06-04 02:05:20 -07:00
colin 994c713efb update whalebird 4.5.4 -> 4.6.0 2022-06-03 20:39:06 -07:00
colin 87637bb1a2 home manager: update 21.11 -> 22.05
this is necessary for sway to build
2022-06-03 01:40:32 -07:00
colin a7259279bb port raspberry pi bootloader fixes to a nixpkgs patch 2022-06-02 14:18:41 -07:00
colin 766460164f remove pkgs-mobile: run moby off the same packages as my other system 2022-06-01 17:48:37 -07:00
colin e9d6a1458a phoc: simplify the config by patching nixpkgs 2022-06-01 12:36:36 -07:00
colin 4d970f5bf5 remove nixpkgs-unstable from inputs
we don't need it. the one package it was being used for is identical
in nixpkgs stable
2022-05-31 22:41:41 -07:00
colin 221fb05579 remove whalebird specialization
22.05 edition of whalebird compiles fine OOTB
2022-05-31 17:57:16 -07:00
Colin 18415799b7 remove gitea unstable: we're running a compatible version in nixos-22.05 now
gitea registration flow tested: it still redirects registration emails to my own email
2022-05-31 17:49:01 -07:00
Colin 7ae8526771 update nixos-21.11 -> nixos-22.05 2022-05-28 12:40:35 -07:00
Colin 91d8b95459 move secrets to a subdirectory, for improved overrides 2022-05-26 23:52:08 -07:00
colin 188ce582ee flake: cleanup old mobile-pkgs attempts 2022-05-24 23:12:17 -07:00
colin c95485589a moby: upgrade pkgs from 2022/03/30 -> 2022/05/20
this upstreams the manual phosh tweaks i had previously applied.
2022-05-24 20:58:45 -07:00
colin f8cf676df4 uninsane: add a hurricane electric ddns service
also adds some basic secrets management. i can make this more robust in time.
2022-05-24 17:24:11 -07:00
colin e8cc71b03e moby: update pkgs-mobile to 2022/03/30
i was using something from like 2021/06/...

it's not new enough to have upstream support for phosh,
so i still need the wrapper. i think such an update is blocked on the
mobile-nixos project.
2022-05-24 02:47:04 -07:00
colin 65276e71c7 moby: simplify machine declaration 2022-05-24 00:53:13 -07:00
colin 21a5881214 replace toplevel `pkgs = ...` directive with overlays to satisfy mobile-nixos
mobile-nixos doesn't like us using that directive. making this an
overlay will let me be more consistent and get code reuse.
2022-05-24 00:45:55 -07:00
colin 2d03f0d647 env: add electrum, metamask 2022-05-23 22:50:50 -07:00
colin 390bf09c8a moby: abandon the flake fork of mobile-nixos and compile against tip instead 2022-05-23 22:47:32 -07:00
colin 743eaec331 env: add whalebird Pleroma client 2022-05-23 20:45:33 -07:00
colin 462c68c2ff set hostname per machine 2022-05-23 20:20:05 -07:00
colin b4ab1d332b flake: simplify the machine declartion helpers 2022-05-23 17:15:38 -07:00
colin 2603dc590d moby: populate from lappy config (gnome, firefox, etc)
it's not the best: probably want to replace with phosh
2022-05-22 19:45:54 -07:00
colin d75bc02c94 rename `pda` machine to `moby` 2022-05-22 17:24:16 -07:00
colin aa979704c1 machines: pda: working image generation!
this builds the minimal pine64-pinephone .img,
which is about 1 GB and has no gui beyond the
login prompt, which is inaccessible becuse usb drivers
(for a keyboard) don't seem to be configured >_<
2022-05-22 17:22:55 -07:00
colin ada574e8a8 flake: simplify machine generation 2022-05-22 15:11:08 -07:00
colin efa3ad6abd flake.nix: simplify nixosConfigurations and imgs population 2022-05-22 15:06:27 -07:00
colin f53e7e6acf flake: factor out some machine helpers
new structure is `imgs.<foo>` to build a disk image
2022-05-22 14:40:29 -07:00
colin 1f0e62cff6 flake: use `inherit` where possible 2022-05-22 13:36:30 -07:00
colin 95ca542199 flake: simplify decl-img 2022-05-22 13:35:04 -07:00
colin cb9308e17b add the NixOS User Repository, and source some firefox extensions from it 2022-05-22 04:03:30 -07:00
colin 454e65b027 add img targets for desko and uninsane machines 2022-05-22 02:57:05 -07:00
colin c5e0310229 pda: switch nixpkgs for mobile-nixos
the old one doesn't work. not sure if this one does or not
2022-05-22 02:55:36 -07:00
colin 33d2666a03 convert lappy-gpt to use a helper which we'll be able to replicate for other machines 2022-05-22 01:38:19 -07:00
colin e0b0fe065b move all machines into a subdirectory 2022-05-22 01:29:56 -07:00
colin 8f903d5214 create a machine for my desktop
it's a clone of lappy, except with different fs uuids.

i'll work to fold some of these in a bit.
2022-05-22 01:27:02 -07:00
colin 0557a2b700 document how to use the lappy-gpt target 2022-05-22 01:23:54 -07:00
colin 06b23e92f9 lappy-gpt: inline nixos-generate logic for better boot consistency
this image boots!
2022-05-21 22:00:38 -07:00
colin bd3bf6d108 add a #lappy-gpt target which builds a flat, flashable image.
the root part is ext4 instead of btrfs. nixos-generators doesn't support
btrfs. the underlying machinery does though, so we can remove the
middleman in a future patch to achieve that.
2022-05-21 18:05:32 -07:00
colin fc3b40d434 factor out a decl-machine helper 2022-05-21 00:40:56 -07:00
colin f5d313c0ea factor out the uninsane machine a bit better 2022-05-21 00:30:29 -07:00
colin 298e7bc8ec lift pkg patching out of the toplevel machine definitions 2022-05-21 00:23:29 -07:00
colin e252f8623c lappy: lift the `x86_64-linux` wrangling out of the modules 2022-05-21 00:18:17 -07:00
colin b31972444e lappy: move more stuff to the toplevel lappy/default.nix 2022-05-21 00:15:33 -07:00
colin 13b957dbfa document some mobile-pkgs commits 2022-05-20 23:53:44 -07:00
colin 0877570947 add (experimental) pinephone/pda target
this requires cross compilation (particularly of the kernel), which is a bit too slow on this machine
to test since it uses qemu.

i can maybe switch to an older nixpkgs for the pda build which has the
kernel cached... or migrate my desktop to nixos and build the pinephone
image there :-)
2022-05-20 21:18:04 -07:00
colin 0457ae40fe migrate my nixos laptop to this flake 2022-05-20 21:14:19 -07:00