summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configuration.nix31
-rw-r--r--flake.lock27
-rw-r--r--flake.nix4
-rw-r--r--overlays/haunt.nix26
-rw-r--r--programs.nix24
5 files changed, 89 insertions, 23 deletions
diff --git a/configuration.nix b/configuration.nix
index 4af20b4..f234f57 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -70,7 +70,6 @@
services.desktopManager.gnome.enable = true;
services.tailscale.enable = true;
- services.immich.enable = true;
services.mpd.enable = false;
services.kavita = {
@@ -343,8 +342,6 @@
"input"
];
packages = with pkgs; [
- google-chrome
- steam
blender
rocmPackages.rpp
rocmPackages.hipcc
@@ -355,9 +352,7 @@
tmux
protonmail-desktop
ghostty
- obsidian
inkscape
- protonvpn-gui
darktable
nfs-utils
imagemagick
@@ -366,7 +361,6 @@
alsa-tools
usbutils
pipewire.jack
- itch
rocmPackages.rocminfo
discord
vlc
@@ -383,7 +377,6 @@
ripgrep
abcde
guile
- haunt
autoconf
automake
libtool
@@ -475,8 +468,6 @@
})
];
- programs.steam.enable = true;
-
# GnuPG
programs.gnupg.agent = {
enable = true;
@@ -484,15 +475,15 @@
};
services.pcscd.enable = true;
- services.ollama = {
- enable = true;
- package = pkgs.ollama-rocm;
- environmentVariables = {
- HIP_VISIBLE_DEVICES = "0";
- OLLAMA_CONTEXT_LENGTH = "32768";
- OLLAMA_KV_CACHE_TYPE = "q8_0";
- };
- };
+ # services.ollama = {
+ # enable = true;
+ # package = pkgs.ollama-rocm;
+ # environmentVariables = {
+ # HIP_VISIBLE_DEVICES = "0";
+ # OLLAMA_CONTEXT_LENGTH = "32768";
+ # OLLAMA_KV_CACHE_TYPE = "q8_0";
+ # };
+ # };
# Install firefox.
programs.firefox.enable = true;
@@ -513,10 +504,6 @@
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
neovim
- (pkgs.emacs.pkgs.withPackages (epkgs: [
- (epkgs.treesit-grammars.with-grammars (g: [ g.tree-sitter-nix ]))
- ]))
-
];
environment.sessionVariables = {
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..b467688
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,27 @@
+{
+ "nodes": {
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1784280462,
+ "narHash": "sha256-DtoqIqM7VkR6NxAkcLpMwmi02USwWb3JdmNGLyhthc0=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "293d6abedf0478e681a4dfcfcb35b30fc796a32f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-26.05",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "nixpkgs": "nixpkgs"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/flake.nix b/flake.nix
index e713cb2..b024152 100644
--- a/flake.nix
+++ b/flake.nix
@@ -8,10 +8,12 @@
outputs =
{ self, nixpkgs, ... }@inputs:
{
- nixosConfigurations.kusanagi = nixpgs.lib.nixosSystem {
+ nixosConfigurations.kusanagi = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
+ ./programs.nix
+ { nixpkgs.overlays = [ (import ./overlays/haunt.nix) ]; }
];
};
};
diff --git a/overlays/haunt.nix b/overlays/haunt.nix
new file mode 100644
index 0000000..cae6a0a
--- /dev/null
+++ b/overlays/haunt.nix
@@ -0,0 +1,26 @@
+final: prev: {
+ # haunt 0.4.0 needs the (commonmark html) module, which the pinned
+ # OrangeShark guile-commonmark (unstable-2020-04-30) doesn't provide.
+ # Track the Spritely fork that Guix now uses.
+ guile-commonmark = prev.guile-commonmark.overrideAttrs (finalAttrs: old: {
+ version = "0.1.2-unstable-2024";
+ src = final.fetchgit {
+ url = "https://codeberg.org/spritely/guile-commonmark";
+ rev = "8ebb3041973ee65eed71757c97d09c63b842ac9a";
+ hash = "sha256-YYMBUDpRHwscuGv3LieYWHUlOJRJpaK39nLKlpl+ZVE=";
+ };
+ });
+
+ haunt = prev.haunt.overrideAttrs (finalAttrs: old: {
+ version = "0.4.0";
+ src = final.fetchgit {
+ url = "https://git.dthompson.us/haunt.git";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-VRs70ETGB/ygr0HUW5mfGxaLKex0VPbX4r8HCIxV3K0=";
+ };
+ # 0.4.0 adds a dependency on the (htmlprag) Guile module from guile-lib.
+ # guile-gnutls provides the (gnutls) module that (web client) needs for
+ # HTTPS, so build-time fetching of remote pages works.
+ buildInputs = old.buildInputs ++ [ final.guile-lib final.guile-gnutls ];
+ });
+}
diff --git a/programs.nix b/programs.nix
new file mode 100644
index 0000000..a38712d
--- /dev/null
+++ b/programs.nix
@@ -0,0 +1,24 @@
+{ pkgs, ... }:
+{
+ environment.systemPackages = with pkgs; [
+ itch
+
+ haunt
+
+ (aspellWithDicts (dicts: with dicts; [ en en-computers en-science ]))
+ ];
+
+ programs.steam.enable = true;
+
+ services.emacs = {
+ enable = true;
+ package = pkgs.emacs.pkgs.withPackages (epkgs: [
+ (epkgs.treesit-grammars.with-grammars (g: [ g.tree-sitter-nix ]))
+ ]);
+ };
+
+ services.immich = {
+ enable = true;
+ machine-learning.enable = false;
+ };
+}