aboutsummaryrefslogtreecommitdiff
path: root/nixos/profiles/workstation
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/profiles/workstation')
-rw-r--r--nixos/profiles/workstation/create.nix6
-rw-r--r--nixos/profiles/workstation/default.nix18
-rw-r--r--nixos/profiles/workstation/dev.nix16
-rw-r--r--nixos/profiles/workstation/graphical.nix5
-rw-r--r--nixos/profiles/workstation/scripts/ed2
5 files changed, 33 insertions, 14 deletions
diff --git a/nixos/profiles/workstation/create.nix b/nixos/profiles/workstation/create.nix
index 924717f..1c955a6 100644
--- a/nixos/profiles/workstation/create.nix
+++ b/nixos/profiles/workstation/create.nix
@@ -4,8 +4,14 @@
environment.systemPackages = with pkgs; [
graphviz-nox # for dot
+ hugo
typst
+ (inkscape-with-extensions.override {
+ inkscapeExtensions = [
+ inkscape-extensions.inkstitch
+ ];
+ })
gimp
krita
];
diff --git a/nixos/profiles/workstation/default.nix b/nixos/profiles/workstation/default.nix
index 0332200..9df5328 100644
--- a/nixos/profiles/workstation/default.nix
+++ b/nixos/profiles/workstation/default.nix
@@ -2,13 +2,7 @@
let
cfg = config.workstation;
- sources = import ../../npins;
- nixGit = import (pkgs.fetchFromGitHub {
- owner = "NixOS";
- repo = "nix";
- rev = "7a8a28629c61c75af010ff0a5a88c16c4ce536c7";
- sha256 = "sha256-oqG9AFPXBneKVmiWa9b9ai0hGZqHVKVFaFLdBZitSUA=";
- });
+ sources = import <top/npins>;
in
{
options.workstation = {
@@ -33,6 +27,7 @@ in
"wheel"
"networkmanager"
"dialout"
+ "wireshark"
];
};
@@ -44,6 +39,11 @@ in
environment.systemPackages = with pkgs; [
npins
(callPackage "${sources.agenix}/pkgs/agenix.nix" {})
+ (callPackage sources.my-vdf {})
+
+ vim-full
+ skim
+ (writeShellScriptBin "ed" (builtins.readFile ./scripts/ed))
unzip
@@ -60,9 +60,5 @@ in
# Age defaults to this anyway when openssh is enabled.
# We're setting this here for workstations where openssh is disabled.
age.identityPaths = ["/etc/ssh/ssh_host_ed25519_key"];
-
- # Using nix from git for --raw support in nix-instantiate --eval.
- # FUTURE: remove once upgrading to NixOS 25.05
- nix.package = nixGit.packages.${builtins.currentSystem}.default;
};
}
diff --git a/nixos/profiles/workstation/dev.nix b/nixos/profiles/workstation/dev.nix
index e550a4c..a40d574 100644
--- a/nixos/profiles/workstation/dev.nix
+++ b/nixos/profiles/workstation/dev.nix
@@ -4,16 +4,19 @@
environment.systemPackages = with pkgs; [
rustup
go
+ golangci-lint
python313
nodejs_22
# CLI tools
+ skim
docker-compose
gnumake
jq
+ pkgs-unstable.jujutsu
just
sqlite-interactive
- tokei
+ scc
fastmod
license-generator
@@ -22,12 +25,21 @@
gcc # rustc fails if cc linker isn't found
chromium
- pkgs-unstable.zed-editor
+ zed-editor
vscodium
# I'm installing extensions via my install-imperative script.
platformio
+
+ # language servers
+ # rust-analyzer is installed via rustup
+ nixd
];
+ programs.wireshark = {
+ enable = true;
+ package = pkgs.wireshark;
+ };
+
virtualisation.podman = {
enable = true;
dockerSocket.enable = true;
diff --git a/nixos/profiles/workstation/graphical.nix b/nixos/profiles/workstation/graphical.nix
index dc05f05..9e39092 100644
--- a/nixos/profiles/workstation/graphical.nix
+++ b/nixos/profiles/workstation/graphical.nix
@@ -32,7 +32,9 @@
# graphical tools
imv
- mpv
+ (mpv.override {
+ youtubeSupport = false; # disable yt-dlp dependency
+ })
zathura
# TODO: zathura doesn't adjust zoom on PDF open even though adjust-open="best-fit" is the default according to zathurarc(5)
element-desktop
@@ -67,6 +69,7 @@
pulse.enable = true;
};
security.rtkit.enable = true; # recommended for PipeWire
+ hardware.bluetooth.enable = true;
programs.thunderbird = {
enable = true;
diff --git a/nixos/profiles/workstation/scripts/ed b/nixos/profiles/workstation/scripts/ed
new file mode 100644
index 0000000..a3dd433
--- /dev/null
+++ b/nixos/profiles/workstation/scripts/ed
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+$VISUAL $(find . -not -path "*/.*" | sk --no-info "$@")