about summary refs log tree commit diff
path: root/modules/user/aszlig
Commit message (Collapse)AuthorAgeFilesLines
* profiles/base: Add helper for showing last Nix logaszlig2020-12-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This is a common pattern I encounter on a daily basis, which involves copy & pasting the store path of a failed build to "nix log". Now the same is just a matter of running "nlast" and we get rid of the useless copy & paste. The way we do this does have a small goof: Using mtime (or really any time, other than atime, which commonly is disabled) is not going to work if we *repeat* an older Nix build, since this will only change the log file but the prefix directory will be unchanged. Since addressing this goof would most likely result in iterating through *all* log files, I'm not doing it since I think it doesn't occur very often in practice. If I happen to be wrong on that, we could still go for the heavyweight solution. Also, I went for implementing this in Python instead of a shell script, because the latter would not only be less readable but also way slower since we need to either fork out for every stat command or use ls and head to figure out the newest file. Signed-off-by: aszlig <aszlig@nix.build>
* workstation/packages: Remove NixOpsaszlig2020-12-041-1/+0
| | | | | | | | | | | | | | | | Since the "cryptography" Python library is marked as insecure I'd have several options here: Add an excemption for the library, switch to NixOps 2.0 or entirely remove it. I chose to do the latter, since on all of my deployments I currently use a heavily patched NixOps version which is somewhat of a mix between 1.5 and 2.0 and the version used here in the workstation profile is unused since ages anyway. In case I really need to use nixops on any of my workstations again, I could still resort to "nix run". Signed-off-by: aszlig <aszlig@nix.build>
* modules: Rename enableFontDir to fontDir.enableaszlig2020-11-101-1/+1
| | | | | | | | | The option has been renamed since a while[1] ago, so to get rid of annoying warnings, let's actually switch to the new option name. [1]: https://github.com/NixOS/nixpkgs/commit/c99bd9bedf7291390c28eddb31f Signed-off-by: aszlig <aszlig@nix.build>
* profiles/base: Remove showManual option definitionaszlig2020-08-161-2/+0
| | | | | | | | | | | | | | The option has been removed upstream[1] and it only has been true by default for a very small time frame in 2014[2] and I believe even earlier (before the nixos -> nixpkgs merge) there was another occasion where it defaulted to true. However, with the option gone, this is now no longer necessary. [1]: https://github.com/NixOS/nixpkgs/commit/aebf9a4709215c230e5841d60e2 [2]: https://github.com/NixOS/nixpkgs/commit/b792394119b8ffc4a2fd34a6704 Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/aszlig: Add Mutt configurationaszlig2020-08-081-1/+1
| | | | | | | | | | | | | | | | | | I've been using this configuration since years already but so far it has been residing in ~/.muttrc and I copied to new machines accordingly. The reason why I didn't add it here was because the config was too ugly and I never got so far as to properly re-do it. Unfortunately, the config is still ugly as hell, but at least we now generate it from a structured Nix format and also the IMAP/SMTP user and server infos are now retrieved via gopass instead. This also includes my small prank multipart/alternative filter, which should hopefully "encourange" recipients to disable HTML parsing/rendering. Signed-off-by: aszlig <aszlig@nix.build>
* pprofiles/workstation: Use true type VGA fontaszlig2020-08-082-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The DOSEMU fonts we were using so far for CP437 were bitmap fonts only and with no unicode support. Luckily there is https://int10h.org/oldschool-pc-fonts/ - which is a really cool font pack containing all the cool oldschool fonts that I remember from my childhood and still use today for creating ASCII art. Since we recently* hit the 21st century, I think it's about time that even I should start having terminals with proper Unicode support. The latter is already the case, but the glyphs just didn't display correctly. The font that I switched to (MxPlus IBM VGA 8x16) is using embededd bitmaps, so I also enabled useEmbeddedBitmaps option, so that the font still looks as crisp as the old DOSEMU font. To make sure it really is the same font, I compared screenshots of all the CP437 characters with the new font and they match the old font 1:1. I also removed the liberation_ttf font, since it's already included by the default NixOS font configuration. * -> Your mileage may vary, but hey, the 90ies were yesterday, right? Signed-off-by: aszlig <aszlig@nix.build>
* workstation/packages: Add "entr"aszlig2020-07-281-0/+1
| | | | | | | | | | | | | I regularily keep things in nix-env to see whether I keep using them and "entry" is one of the little tools I ended up using quite regularily. The program monitors a set of files via inotify and runs a command whenever one or more of them change, which makes it quite useful for a "change code, compile, run" cycle. Upstream URL: https://eradman.com/entrproject/ Signed-off-by: aszlig <aszlig@nix.build>
* workstation: Disable pull.rebase in Git configaszlig2020-07-161-0/+1
| | | | | | | | | | | | | | | | | | | | From the release notes of Git version 2.27.0: * "git pull" issues a warning message until the pull.rebase configuration variable is explicitly given, which some existing users may find annoying---those who prefer not to rebase need to set the variable to false to squelch the warning. This is exactly the warning which is annoying me all the time now, so in order to get rid of it, let's explicitly set the default behaviour (which is doing a recursive merge). Just to be sure that I really want the default behaviour, I analysed my shell history for invocations of "git pull" and only around 20% of the invocations were with --rebase, 14% were with an explicit URL (but no rebase) and the rest were recursive merges. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/base: Enable Nix experimental featuresaszlig2020-06-231-0/+1
| | | | | | | | I've had this in my configuration.nix for a while and since I got used to it, I think it's a good idea to enable both Nix Flakes and the "nix" command by default for all my machines. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/workstation: Revert replacing p7zipaszlig2020-06-151-1/+1
| | | | | | | | | | | | This reverts commit 64fdbcc7e0949a3d3bf1cee3361d5ebe5c56cc4c. It seems that there is now[1] a maintained version of p7zip and since I didn't get used to unar so far, I take this opportunity to switch back to p7zip. [1]: https://github.com/NixOS/nixpkgs/pull/90140 Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/aszlig/xournal: Switch to xournal++aszlig2020-05-211-1/+1
| | | | | | | | | | | | | The patch I added to xournal was for keeping the aspect ratio when annotating PDFs with images. However, looking at xournal++ the aspect ratio is kept by default when resizing via corners so the patch is not needed. Since I don't really care a lot whether it's xournal or xournal++ and as long as it does the very little things I intend to use it for, I don't mind if it has too many features for my taste. Signed-off-by: aszlig <aszlig@nix.build>
* zsh: Fix XTerm-specific shell initialisationaszlig2020-05-081-1/+1
| | | | | | | | | | | | | In 7faaaab0af1e30bdfb72eca02abdfe92efefe4e0, I've changed the TERM variable to contain "xterm-256color". However, in our shell initialisation, we check whether $TERM is "xterm" rather than whether $TERM *starts* with xterm. Doing the latter fixes title setting and home/end keys in Vi normal mode. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/workstation: Set XTerm colours to 256aszlig2020-05-071-0/+1
| | | | | | | | | | | So far I've been fine with just everything using 16 colours, but since I'm even using 256 colours in my own ASCII art spriting engine I think I can safely enter the 90ies and get some more colours. Of course, the XTerm version I'm using is already supporting 256 colors, it's just that the terminfo entry doesn't say so. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/workstation: Replace p7zip with unaraszlig2020-05-061-1/+1
| | | | | | | | | | | | | | A while ago, p7zip has been marked as insecure[1], and while I didn't use p7zip for any real archives, I used it for unrelated things like executables and ISO9660 images and of course occasionally also 7z files. While I haven't done extensive testing with unar, it does seem to have a similar feature set when it comes to non-archive formats and also has support for 7z archives as well. [1]: https://github.com/NixOS/nixpkgs/commit/aa80b4780d849a00d86c28d6b3c Signed-off-by: aszlig <aszlig@nix.build>
* treewide: Remove hardware.opengl.s3tcSupportdevhell2020-04-232-2/+0
| | | | | | | This option has been dropped upstream in 4732f59226a21b01d630c7ef4fb884bbfbe7dc83 Cc: @aszlig
* programs/mpv: Fix eval error for real this timeaszlig2020-02-101-5/+3
| | | | | | | | | | | When fixing the eval error in 67e921d264c7832ac97e39ef73df760a20ad2b47, I forgot about the fact that overrideAttrs doesn't reside in lib but instead is a package attribute. Since using "with lib;" is making it harder to quickly catch eval errors, I also removed it from the module. Signed-off-by: aszlig <aszlig@nix.build>
* treewide: Switch to displayManager.defaultSessionaszlig2020-02-103-7/+2
| | | | | | | | | | | | | | The option services.xserver.desktopManager.default and services.xserver.windowManager.default are deprecated since quite a while[1], so let's use the displayManager.defaultSession option instead. Additionally, there no longer is any need to explicitly disable the "xterm" desktopManager, so I removed that option as well. [1]: https://github.com/NixOS/nixpkgs/commit/8dc5ff7dcfd1c58c32004ffae25 Signed-off-by: aszlig <aszlig@nix.build> Cc: @devhell
* programs/mpv: Fix evaluation for installPhaseaszlig2020-02-101-2/+2
| | | | | | | | | | | | | | The package no longer[1] uses an installPhase but instead the same is now in postInstall. Since that module is pretty old I didn't use a fallback to an empty installPhase, so the evaluation fails now. Using postInstall along with a proper fallback should fix this, although I haven't tested whether $out/etc/mpv/mpv.conf is still recognised by mpv nowadays, we'll see... [1]: https://github.com/NixOS/nixpkgs/commit/542d7589568c2f3c6ac58c6e307 Signed-off-by: aszlig <aszlig@nix.build>
* programs/zsh: Set key timeout to 0.01 secondsaszlig2020-02-101-0/+1
| | | | | | | | | | | | | Since I'm using Vi keybindings, pressing the Escape key is something I do rather frequently. Having to wait for roughly a second after that gets pretty annoying after a while, so let's set the timeout to 0.01 seconds. This should usually be "small enough" to not interfere with other key sequences resulting in escape characters, but let's see how this will play out after a while. Signed-off-by: aszlig <aszlig@nix.build>
* programs/mpv: Don't youtube-dl videos > 1080paszlig2020-02-101-0/+1
| | | | | | | | Since more and more "Ultra HD" videos are out there, it really doesn't make any sense to play such big resolutions if the monitor only is a 1080p display. Signed-off-by: aszlig <aszlig@nix.build>
* machines: `consoleFont` and `consoleKeyMap` moved to `console`Profpatsch2019-12-221-2/+2
| | | | | | Fixes the evaluation warning. cc @aszlig @devhell @sternenseemann
* profiles/workstation: Remove xpdfaszlig2019-12-081-1/+0
| | | | | | | | | | | | | | | | | | | Package currently doesn't evaluate because: > Package xpdf-4.02 in ... is marked as insecure, refusing to evaluate. > > Known issues: > - CVE-2018-7453: loop in PDF objects > - CVE-2018-16369: loop in PDF objects > - CVE-2019-9587: loop in PDF objects > - CVE-2019-9588: loop in PDF objects > - CVE-2019-16088: loop in PDF objects While this might be fixed in the future, I'm removing the package anyway, because I'm using zathura for quite a while (since mid 2016 to be exact) and never used xpdf a single time since then. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/managed: Fix up renamed gvfs optionaszlig2019-12-081-1/+1
| | | | | | | | | | The option has been moved[1] out of services.gnome3 since quite a while, so let's actually use the new option "services.gvfs.enable" instead. [1]: https://github.com/NixOS/nixpkgs/commit/67ad8a788fe0a8c22910d68d470416b6f5626740 Signed-off-by: aszlig <aszlig@nix.build> Reported-by: @dwenola
* treewide: Remove all references to SLiMaszlig2019-12-082-46/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following evaluation error: The option `services.xserver.displayManager.slim' can no longer be used since it's been removed. The SLIM project is abandoned and their last release was in 2013. Because of this it poses a security risk to your system. Other issues include it not fully supporting systemd and logind sessions. Please use a different display manager such as LightDM, SDDM, or GDM. You can also use the startx module which uses Xinitrc. Here is the nixpkgs upstream pull request removing SLiM: https://github.com/NixOS/nixpkgs/pull/73251 Since I was using a custom theme for SLiM and actually liked the minimalism, it's probably time to start patching LightDM soon. For now however, I'll stay with a default LightDM configuration and wait until I'm getting annoyed :-) Signed-off-by: aszlig <aszlig@nix.build>
* treewide: use `runCommandLocal` where applicableProfpatsch2019-12-081-1/+1
| | | | | | | `runCommandLocal` was added to nixpkgs in https://github.com/NixOS/nixpkgs/pull/74642 to speed up trivial `runCommand` derivations by always building them locally. We have a few places where that’s good to use.
* profiles/workstation: Add wcc to packagesaszlig2019-10-131-0/+1
| | | | | | | | | | | | | | This is the "Witchcraft Compiler Collection", which is VERY useful for reverse-engineering, especially when looking back at the work I've done with game packaging here in Vuizvui, I would have needed something like this a ton of times. I've mainly used radare2 for dissecting the binaries, but especially the "Witchcraft Shell" is quite useful to have. Thanks to @Profpatsch for pointing this out to me. Signed-off-by: aszlig <aszlig@nix.build>
* machines/aszlig: Explicitly set useDHCPaszlig2019-10-081-0/+1
| | | | | | | | | | | | | | | | | | The usage of DHCP is no longer global since a while[1] and we now have to explicitly enable it for the interfaces in question. This actually is a good thing and makes it far less problematic if we use tunnel interfaces and other more complicated networking configuration. I added the definitions for all machines where I actually know which interfaces are in use and disabled useNetworkd for shakti, because I don't know the interface names for that machine and the machine currently isn't in use anyway, so we can add it later if needed. [1]: https://github.com/NixOS/nixpkgs/pull/69302 Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/santander: Remove obsolete packageaszlig2019-09-231-1/+0
| | | | | | | The upstream service was shut down at September 11th 2019, so there really is no need anymore for this package. Signed-off-by: aszlig <aszlig@nix.build>
* workstation: Fix latitude/longitude optionsaszlig2019-09-231-2/+3
| | | | | | | | | | | | | The services.redshift.{latitude,longitude} options are deprecated and the replacement for them are the location.{latitude,longitude} options that have been introduced since a while[1]. Both of the new options now use floating point numbers instead of strings, which I changed accordingly (and also rounded them a bit). [1]: https://github.com/NixOS/nixpkgs/commit/c4de0bf49289bc6b1448420dea39d7a5b0f3c374 Signed-off-by: aszlig <aszlig@nix.build>
* modules/zsh: Fix options and clean up a bitaszlig2019-09-221-17/+15
| | | | | | | | | | | | | | | | Since a while ago[1], the setting of ZSH options is now done after interactiveShellInit, so using unsetopt SHARE_HISTORY doesn't work anymore because it is set *afterwards*. Instead of setting these options, we now use the setOptions option instead and override it with exactly the options I want to be set. Additionally, compinit is also no longer necessary, because it is done by default and invoking it on our own is just redundant. [1]: https://github.com/NixOS/nixpkgs/pull/58012 Signed-off-by: aszlig <aszlig@nix.build>
* profiles/workstation: Switch from Gajim to Psi 2aszlig2019-06-212-2/+6
| | | | | | | | | | | | | | | | | | | After using Gajim for years now, I got really frustrated by all its warts, which mainly boil down the lack of type safety and its interactions with its plugins. Of course, I could also rip apart the plugin mechanism and Nixify them, but in the end, the issues would still persist without a myriad of tests that I don't have time right now to write. After discovering a while back that Psi development has gained some activity I decided to take a look into it a few weeks ago and while there is certainly always things I don't like about some detail, it's IMO a way better base for my future XMPP client. So goodbye Gajim and hello Psi :-) Signed-off-by: aszlig <aszlig@nix.build>
* profiles/workstation: Remove lastwatchaszlig2019-03-191-1/+0
| | | | | | | I no longer use last.fm nor do I use this project (even though it's my own one), so let's remove it. Signed-off-by: aszlig <aszlig@nix.build>
* modules/vlock: Allow to change the user nameaszlig2019-03-112-1/+12
| | | | | | | | | | | | When writing that module back then in 88a10f1a6e2ea172ff985f64bfcf82e2, I had to work around a systemd limitation (which I need to check whether this is still the case today) and hardcoded the user name for the time being. While it's still quite ugly, there was interest from @Profpatsch, so I decided to add an internal option to change that username. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/base: Add moreutilsaszlig2018-09-191-0/+1
| | | | | | | This really has a few very useful commands that make working with the shell on a daily basis less painful. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/managed: Enable zswapaszlig2018-07-161-0/+1
| | | | | | | Most of these machines have limited RAM and come to a crawl whenever swap space needs to be used. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/workstation: Switch to zswap moduleaszlig2018-07-161-21/+3
| | | | | | | The zswap module is essentially what I had here, so let's just use that instead. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/workstation: Refine zswap configurationaszlig2018-07-141-1/+20
| | | | | | | | | | | | Since kernel 4.18 contains the zstd compression module in the crypto API, it really makes sense to use that instead of the default (lzo) as it seems to have lower CPU usage with higher compression ratios. Another change I've made is to use z3fold for the pooling, so that 3 pages are cramped into one page of the pool. I did also have a look at zsmalloc, but it seems to come with the cost of additional CPU usage. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/workstation: Set dark Gtk themeaszlig2018-07-081-0/+3
| | | | | | | | | Two of the applications I use (gpodder and gajim) use Gtk and the default Adwaita theme is rather blinding me, especially at night. So let's set the GTK_THEME environment variable globally. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/base: Remove IcedTea Firefox pluginaszlig2018-06-301-1/+0
| | | | | | | I really didn't use it at all and there is also no reason to keep it there anyway. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/base: Remove config override for Miroaszlig2018-06-291-3/+0
| | | | | | | I'm no longer using Miro, so there really is no point in having this override in there. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/workstation: Use gopass from Vuizvuiaszlig2018-05-111-1/+1
| | | | | | | D'oh, I accidentally added the original package *after* creating the patched one. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/managed: Add kdepim-addonsaszlig2018-05-081-0/+1
| | | | | | This is needed in order to add locations to contacts in KAddressbook. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/managed: Add kontact to systemPackagesaszlig2018-05-081-0/+1
| | | | | | | This is probably the main part of the KDE PIM suite, so it really makes sense to add this to managed machines as they're end user oriented. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/workstation: Switch to gopassaszlig2018-04-292-1/+2
| | | | | | | | Even though gopass is more complex than pass, it's also less fragile because it's written in a reasonably type-safe language rather than being a giant shell script that relies on lots of external commands. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/managed: Add boot.cleanTmpDiraszlig2018-04-251-0/+1
| | | | | | | A lot of trash has accumulated in /tmp on some of the machines, so let's clean it up. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/workstation: Add hledger to packagesaszlig2018-04-231-0/+3
| | | | | | | | | The whole package actually, including the ncurses UI and web interface. Not that I really need the UI/web stuff right now, but it might come in handy later. Signed-off-by: aszlig <aszlig@nix.build>
* profile/base: Set default priority on SSHd optionsaszlig2018-04-211-3/+3
| | | | | | | | | | | The parent commit actually introduced an eval error with meshuggah, because the machine defined permitRootLogin. Setting these values to priority 1000 (which is what mkDefault does) makes sure that setting the value somewhere else always takes precedence (unless of course it has a value >= 1000). Signed-off-by: aszlig <aszlig@nix.build>
* profiles/base: Provide sane OpenSSH defaultsaszlig2018-04-212-4/+5
| | | | | | | | | It's been ages since I needed to authenticate to SSHd via a password, so let's actually make sure we only use pubkey auth by default. If we need more than that we can still change the value to something else on a per- machine basis. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/managed: Move Chromium to machinesaszlig2018-04-121-1/+0
| | | | | | | The new machine (shakti) is going to use Firefox, so let's make sure this is machine-specific. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/managed: Add RAR support for Arkaszlig2018-04-121-2/+5
| | | | | | | | | Unfortunately people still tend to use RAR archives for whatever reason. The unfreeAndNonDistributablePkgs is a bit wrong here though, because Ark and unrar *are* actually redistributable. This needs to be fixed in nixpkgs though. Signed-off-by: aszlig <aszlig@nix.build>