about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* workstation/packages: Add zbar to system packagesaszlig2022-09-111-0/+1
| | | | | | | | | | | Just had to scan the credentials for a Wi-Fi access point and they were only available via QR code, but was unable to make it available via Nix shell because I had (for obvious reasons) no access to the Internet. Adding zbar to all my machines will ensure that something like this won't happen again. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/sandbox: Create injected target directoryaszlig2022-09-101-4/+11
| | | | | | | | | | | | | When using NIX_SANDBOX_DEBUG_INJECT_FILES (which we now call NIX_SANDBOX_DEBUG_INJECT_DIRS, because it's more accurate), I usually used it to provide fake /dev or /sys directories. I turned out, that today I was trying to use this functionality again (who'd have known) and it also turned out that I forgot to create the target directory, which wasn't needed back then for /dev or /sys because they were already existing. Signed-off-by: aszlig <aszlig@nix.build>
* machines/slylandro: Remove tuxedo-keyboard moduleaszlig2022-09-081-1/+0
| | | | | | | | | This actually consists of several modules which are of poor code quality, none of them however are essential for the TUXEDO Pulse 15 because its keyboard backlight is single color so let's drop them since they just taint the kernel for no reason. Signed-off-by: aszlig <aszlig@nix.build>
* workstation: Use oldschool font pack from nixpkgsaszlig2022-09-051-11/+1
| | | | | | | | | Back then when I added the font pack in 0171f8d895efd46300ba01c6adeb7aa, version 2.0 was not yet merged to nixpkgs. This has happened in the meantime and the current version is version 2.2 and I also do not see any reason to keep the 2.0 version in Vuizvui. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/workstation: Use autoLogin on LUKSaszlig2022-09-051-19/+28
| | | | | | | | | | | | | | | | | After countless boots with unlocking my LUKS containers and thereafter logging in via lightdm I started to wonder whether it really makes sense to do the latter. All of my workstations are single-user, I usually don't switch my session type (and even if, then via system configuration) and if someone manages to unlock my LUKS containers, it's really trivial to circumvent the user authentication. So if I'm not forgetting about something big[TM], the only purpose this additional auth serves is me being annoyed for no reason, so let's disable it if the configuration indicates that LUKS is used. Signed-off-by: aszlig <aszlig@nix.build>
* Use a font point size of 10 on hidpiaszlig2022-09-055-7/+13
| | | | | | | | | With my new laptop, a font size of 12pt is rather large and given that hidpi displays usually have a quite large resolution (the name might hint at that), we don't necessarily need to use embedded bitmaps anymore which was one of the reasons why I used a point size of 12. Signed-off-by: aszlig <aszlig@nix.build>
* machines/sternenseemann/wolfgang: update wireguard configsternenseemann2022-09-011-5/+5
|
* machines/sternenseemann/wolfgang: switch to yt-dlpsternenseemann2022-09-011-1/+1
|
* slylandro: Add quirk for disabling D3cold on NVMeaszlig2022-08-264-0/+62
| | | | | | | | | | | | | | | | | | | | | | After resume from suspend the NVMe does not wake up again when the device was put into D3cold. This is something that is worked around by TUXEDO Tomte[1] via udev rules. However, I personally don't like this approach and it can lead to race conditions when we're going into suspend before udev is initialised. Interestingly, the device does even go into NPSS via APST, but if changing to D3cold while APST is enabled, the device does not wake up again. Right now I just added a new quirk to disable D3cold during device probe for now, but we could maybe find a better workaround eg. by disabling APST before D3cold and re-enabling it again. Not sure whether this is feasible, but since I have limited time right now I can't dig more into this. [1]: https://github.com/tuxedocomputers/tuxedo-tomte/commit/2c8d71170868a2663705fbea6ac150eecb96e6ce Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/vim: Remove hex and color names highlightingaszlig2022-08-231-0/+5
| | | | | | | | | | | | We only want to highlight #aabbcc-style hex colors and not every damn hex value that happens to be 3 or 4 bytes, which is very annoying when you're doing a lot of bit manipulation. Additionally, I currently have a code base where "gold" is something a player can have, so one doesn't need much imagination on how irritating that is. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/rustfmt: Use Nightly versionaszlig2022-08-231-1/+1
| | | | | | | The config we're baking in by default relies on Nightly features, so it only makes sense to actually use a rustfmt version that supports it. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/sternenseemann/saneterm: fix buildsternenseemann2022-08-161-0/+4
| | | | | Seems like something got more strict about setup hook execution and the relevant env vars for gi weren't set in checkPhase.
* modules/profiles/tvl: disable search domainsternenseemann2022-08-161-3/+0
| | | | This stopped working for me for some reason, so no point in keeping it
* machines + modules: Fix Nix option definitionsaszlig2022-08-1513-42/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the options in nix.conf are now exposed as a submodule with a freeform type and since that change[1] got introduced, we get a bunch of warnings during machine evaluation: trace: warning: The option `nix.useSandbox' defined in `...' has been renamed to `nix.settings.sandbox'. trace: warning: The option `nix.maxJobs' defined in `...' has been renamed to `nix.settings.max-jobs'. trace: warning: The option `nix.buildCores' defined in `...' has been renamed to `nix.settings.cores'. To shut them up, I went through all machines and modules and renamed the remaining options that were not renamed back then when @devhell did some renames in a0297bf921399c3243dcca99626d8697f0735abe. This was done by looking through the output of: $ git grep -A 10 '\<nix\(\.\| *=\)' machines modules After that I tested the contents of the nix.conf of all the machines against the changes this commit introduced via the following command: $ nix-build --no-out-link -E ' with import <nixpkgs/lib>; map (m: m.eval.config.environment.etc."nix/nix.conf".source) (collect (m: m ? eval) (import ./machines)) ' I've sorted the resulting nix.conf files and diffed on that result and the only difference that showed up was the following: allowed-users = * -auto-optimise-store = false auto-optimise-store = true builders-use-substitutes = true cores = 0 This is because the previous way to generate the config was by concatenating strings whereas the new way works on an attribute set, so we get deduplication by design. [1]: https://github.com/NixOS/nixpkgs/pull/139075 Signed-off-by: aszlig <aszlig@nix.build> Cc: @devhell Cc: @Profpatsch Cc: @sternenseemann
* pkgs/vim: Use postFetch instead of extraPostFetchaszlig2022-08-151-3/+3
| | | | | | | | | | | | | | | | We no longer need to use extraPostFetch in order to append stuff to the postFetch phase of fetchzip. Since this got fixed[1], we now get appropriate warnings during evaluation: warning: use 'postFetch' instead of 'extraPostFetch' with 'fetchzip' and 'fetchFromGitHub'. Neither do we like warnings nor do we like to use workarounds from the past that got fixed, so let's fix it on our side as well :-) [1]: https://github.com/NixOS/nixpkgs/pull/173430 Signed-off-by: aszlig <aszlig@nix.build>
* profiles/workstation: Add perf to systemPackagesaszlig2022-08-151-5/+8
| | | | | | | | I use perf on a regular basis and since it's dependant on the currently running kernel version, it' just makes sense to have it available at all times rather than "nix run" it with the right kernel version. Signed-off-by: aszlig <aszlig@nix.build>
* machines/tishtushi: Remove machine configaszlig2022-08-152-57/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | I already killed that machine on 2022-08-04: tishtushi[~]0> cryptsetup erase /dev/sda2 WARNING! ======== This operation will erase all keyslots on device /dev/sda2. Device will become unusable after this operation. Are you sure? (Type 'yes' in capital letters): YES tishtushi[~]0> cryptsetup erase /dev/sda3 WARNING! ======== This operation will erase all keyslots on device /dev/sda3. Device will become unusable after this operation. Are you sure? (Type 'yes' in capital letters): YES Since some of the hardware was already broken (touchpad, keyboard, HDD, SSD and webcam), I hardly doubt that I'll use it again so it makes sense to remove the config here. Signed-off-by: aszlig <aszlig@nix.build>
* core/tests: Remove nixos.docker-edgeaszlig2022-08-151-4/+0
| | | | | | | | The package has been removed and we're getting the following eval error: error: 'docker-edge' has been removed, it was an alias for 'docker' Signed-off-by: aszlig <aszlig@nix.build>
* profiles/managed: Remove TLPaszlig2022-08-151-2/+0
| | | | | | | | | | | | | | Right now we're getting an eval error like this: Failed assertions: - You have set services.power-profiles-daemon.enable = true; which conflicts with services.tlp.enable = true; Since the machines in question are for desktop environment users, TLP doesn't make a lot of sense. Besides, the option should not be defined in managed.nix anyway, because it's a hardware-specific option. Signed-off-by: aszlig <aszlig@nix.build>
* machines/shakti: Remove machine configaszlig2022-08-152-74/+0
| | | | | | | The machine no longer exists, so it doesn't make sense to continuously build it on Hydra. Signed-off-by: aszlig <aszlig@nix.build>
* packages: Replace jwhois by whoisaszlig2022-08-151-1/+1
| | | | | | | | | | | | | | | | The upstream project seems to be no longer maintained[1] and the last release from 2005 contains a whole bunch of outdated NIC information so that it became pretty annoying to use. Back then jwhois was the only whois client packaged in nixpkgs, so this might be the reason why it ended up in my setup in the first place. The "whois" package on the other hand seems to be actively maintained and works well for the domains I care about. [1]: https://github.com/jonasob/jwhois/issues/32 Signed-off-by: aszlig <aszlig@nix.build>
* slylandro: Initialise amdgpu module early in bootaszlig2022-08-031-0/+1
| | | | | | | | The amdgpu module is initialised at roughly the same time as the X server, which sometimes leads into race conditions where X won't start because the kernel driver is not yet loaded. Signed-off-by: aszlig <aszlig@nix.build>
* slylandro: Enable keyboard backlightaszlig2022-08-031-0/+1
| | | | | | | | This is a custom kernel module for TUXEDO laptops, which allows to control the backlight. I haven't played around with its settings yet, but having the module available helps with that. Signed-off-by: aszlig <aszlig@nix.build>
* slylandro: Add linux-firmwareaszlig2022-08-031-0/+1
| | | | | | This is needed for the GPU and the WiFi adapter. Signed-off-by: aszlig <aszlig@nix.build>
* slylandro: Disable caps lock keyaszlig2022-08-031-0/+1
| | | | | | | | | | | I'm used to a TypeMatrix keyboard, where caps lock is only a small key on the side instead of being prominently placed atop switch. Slylandro's internal keyboard however has that pesky caps lock key directly atop the left shift key and I'm constantly triggering it by accident. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/base: Use XKB config for console keymapaszlig2022-08-031-1/+2
| | | | | | | | | | | | This is mainly for having a consistent and central way to define our keybord config. The main reason for doing so is because of Slylandro, which comes with a keyboard that has a caps lock key atop the left shift key and it drives me mad. Since I'd like to keep things DRY, let's just use XKB for everything keymap-related. Signed-off-by: aszlig <aszlig@nix.build>
* slylandro: Set DPI for Xorgaszlig2022-08-031-0/+2
| | | | | | | | This makes the screen readable again, but might get us into trouble when switching to an external display. Again, similar to enabling bonding in the previous commit, let's find out :-) Signed-off-by: aszlig <aszlig@nix.build>
* slylandro: Use bonding for WiFi/Ethernetaszlig2022-08-031-2/+17
| | | | | | | | | This is mainly because I want to have a seamless transition between both, at least in theory. Whether this will work out to be so smooth when trying it on various networks out there remains to be seen, but let's try it :-) Signed-off-by: aszlig <aszlig@nix.build>
* machines: Re-add slylandro with different hardwareaszlig2022-08-022-0/+57
| | | | | | | | | | | | | | | | | | I've already got a temporary laptop back then where I used the same name and I introduced it in e73fcff03faed773df2500965cb9c4a4fcfbc04d and subsequently removed it in 240378dcec205b78b32c329ff02eb9bea8af2c11. With the new permanent hardware having arrived today, I decided to reuse the name, because it sounds nicer than "tishtushi" (which is my crappy laptop) and I also like the Slylandro Probes[1] a lot in Star Control. The configuration here is pretty much bare-bones as we had before with the temporary hardware and it's essentially a remix between dnyarri and the old config, more to refine later... [1]: https://wiki.uqm.stack.nl/Probe Signed-off-by: aszlig <aszlig@nix.build>
* programs/git: Fix path for sysdir.caszlig2022-08-021-1/+1
| | | | | | | | Since libgit2 version 1.5.0, sysdir.c is in a subdirectory called "libgit2", which was made to distinguish the sources from the ones in the CLI tool and util. Signed-off-by: aszlig <aszlig@nix.build>
* core/tests: Don't access removed graphite optionsaszlig2022-07-141-2/+1
| | | | | | | | | | | | | | | The options in services.graphite.api and services.graphite.beacon got[1] removed[2] in nixpkgs because the upstream project doesn't seem to be maintained anymore. More information can be found at: https://github.com/NixOS/nixpkgs/pull/180950 [1]: https://github.com/NixOS/nixpkgs/commit/1f18d441063208968f38bed0fe5 [2]: https://github.com/NixOS/nixpkgs/commit/ada1d87767b8826ea6233952279 Signed-off-by: aszlig <aszlig@nix.build>
* machines/sternenseemann: also build german and C localessternenseemann2022-07-071-0/+5
| | | | | See https://github.com/NixOS/nixpkgs/pull/177318 for the lovely change that causes your locales to disappear.
* machines/profpatsch/base-serer.toml: nota beneProfpatsch2022-06-271-0/+2
|
* machines/shiki: ignore short press on power buttonProfpatsch2022-06-271-3/+10
|
* machines/leguin: ignore lid switch when connectedProfpatsch2022-06-271-0/+14
|
* pkgs/profpatsch/deploy: Also create system profileProfpatsch2022-06-271-4/+13
| | | | | | | | | I don’t know how I missed this, but my deploy script didn’t actually set up a system profile, so rebooting would lead to (very) old generations being activated again. Thanks to @sternenseemann for the nix-env trick (via https://code.tvl.fyi/tree/ops/nixos.nix#n55 )
* machines/leguin: fix boot partitions againProfpatsch2022-06-271-1/+1
| | | | No! bad subvolume! bad!
* machines/leguin: fix boot partitionsProfpatsch2022-06-271-10/+11
| | | | | | I had them copied from the wrong module, of course this can’t work. Since the kernel config & boot loader config is now in thinkpad, this might just work (famous last words).
* machines/profpatsch: move thinkpad boot options to thinkpad.nixProfpatsch2022-06-272-3/+4
| | | | | Not sure about the boot loader config, but I guess it’s okay for now, since it doesn’t diverge anyway.
* machines/profpatsch: move console key config to baseProfpatsch2022-06-272-5/+6
|
* machines/leguin: Actually set upProfpatsch2022-06-272-33/+23
|
* services/upower-minimal: use empty config by defaultProfpatsch2022-06-271-3/+1
| | | | | | I think the `null` still came from the nixpkgs module. Not sure whether upower will like an empty config file, but we’ll see.
* machines/Profpatsch/base: explicitly set "UTC" as timezoneProfpatsch2022-06-262-2/+5
|
* machines/Profpatsch/thinkpad: always enable upowerdProfpatsch2022-06-261-0/+2
|
* machines/Profpatsch: Move some stuff to base.nixProfpatsch2022-06-262-17/+16
| | | | | | | I use all of that on a regular basis. Earlyoom makes sense for any kind of machine without swap, which is all of my machines.
* machines/Profpatsch: Move thinkpad config into separate moduleProfpatsch2022-06-263-4/+13
| | | | | I want to have a thinkpad-based server, which will need the thinkpad-specific stuff but none of the workstation stuff.
* modules/hardware/thinkpad: Explicit libProfpatsch2022-06-261-9/+6
| | | | Yay static linting.
* modules/hardware/thinkpad: Default intel.updateMicrocode to trueProfpatsch2022-06-262-5/+5
| | | | | | | | Not updating the microcode on thinkpads is kind of a death sentence for some kernel updates, so let’s do it by default. In case somebody uses it for an AMD thinkpad in the future, we might have to check whether the option creates a problem.
* machines/legosi: disable duplicityProfpatsch2022-06-261-39/+38
| | | | | | Apparently one of its python dependencies went EOL and everything went to fuck because python is a crapfest and nixpkgs policies around it are stupid. yay.
* machines/shiki: remove bad import arghProfpatsch2022-06-261-1/+1
|