15 Commits

Author SHA1 Message Date
78990e6414 fix typst-languagetool installation typo 2025-12-18 10:37:10 +01:00
cef602d758 update flake 2025-12-18 10:37:00 +01:00
368e741211 add typst-languagetool package 2025-12-18 10:36:21 +01:00
fec13e08b9 dev suite: remove latex
Some checks failed
Update Nix Flake / update-flake (push) Failing after 13s
2025-12-13 07:59:44 +01:00
a540ca622d kardorf: switch to hyprland 2025-12-13 07:59:35 +01:00
7fb0bcdac0 nixvim: add orgmode support 2025-12-13 07:59:20 +01:00
b7726fce94 hyprland: fix cursor tearing 2025-12-13 07:58:54 +01:00
30c987bd9b hm: remove my binarycache for hm-standalone
Some checks failed
Update Nix Flake / update-flake (push) Failing after 12s
Normally I wont have VPN access on standalone
2025-12-08 17:12:10 +01:00
539e9a0b8e v3ms: add qt-distrobox 2025-12-08 17:09:45 +01:00
1e4593ea17 home: add qt-distrobox config 2025-12-08 17:09:14 +01:00
ec8a71de95 open-messaging: update name of telegram binary
Some checks failed
Update Nix Flake / update-flake (push) Failing after 14s
2025-12-06 11:30:42 +01:00
0c39388b21 gc: change to older than 30
the old +3 did not seem to work
2025-12-06 11:28:02 +01:00
ebb043b589 format code 2025-12-06 11:24:15 +01:00
fcfc9f6450 hm: make it backup conflicting files 2025-12-06 11:24:08 +01:00
fe3cd057cd fix regreet with hyprland 2025-12-06 11:23:41 +01:00
19 changed files with 152 additions and 94 deletions

48
flake.lock generated
View File

@@ -58,11 +58,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1764627417, "lastModified": 1765794845,
"narHash": "sha256-D6xc3Rl8Ab6wucJWdvjNsGYGSxNjQHzRc2EZ6eeQ6l4=", "narHash": "sha256-YD5QWlGnusNbZCqR3pxG8tRxx9yUXayLZfAJRWspq2s=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "5a88a6eceb8fd732b983e72b732f6f4b8269bef3", "rev": "7194cfe5b7a3660726b0fe7296070eaef601cae9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -111,11 +111,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1763759067, "lastModified": 1765495779,
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", "narHash": "sha256-MhA7wmo/7uogLxiewwRRmIax70g6q1U/YemqTGoFHlM=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", "rev": "5635c32d666a59ec9a55cab87e898889869f7b71",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -203,11 +203,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1764866045, "lastModified": 1765859973,
"narHash": "sha256-0GsEtXV9OquDQ1VclQfP16cU5VZh7NEVIOjSH4UaJuM=", "narHash": "sha256-LN5O0h9GSgcDE/sz4+sLS3CbQALru1x4lh9hrxpeHwI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "f63d0fe9d81d36e5fc95497217a72e02b8b7bcab", "rev": "7df150f0d3857cf68dae443813b27acfb201b2d8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -446,11 +446,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1764950072, "lastModified": 1765779637,
"narHash": "sha256-BmPWzogsG2GsXZtlT+MTcAWeDK5hkbGRZTeZNW42fwA=", "narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f61125a668a320878494449750330ca58b78c557", "rev": "1306659b587dc277866c7b69eb97e5f07864d8c4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -474,11 +474,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1764831616, "lastModified": 1765762245,
"narHash": "sha256-OtzF5wBvO0jgW1WW1rQU9cMGx7zuvkF7CAVJ1ypzkxA=", "narHash": "sha256-3iXM/zTqEskWtmZs3gqNiVtRTsEjYAedIaLL0mSBsrk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c97c47f2bac4fa59e2cbdeba289686ae615f8ed4", "rev": "c8cfcd6ccd422e41cc631a0b73ed4d5a925c393d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -498,11 +498,11 @@
"systems": "systems_5" "systems": "systems_5"
}, },
"locked": { "locked": {
"lastModified": 1764755396, "lastModified": 1765796859,
"narHash": "sha256-f6UrlGdwg+TIxxyDjeq1M7WGNZH/vpbOm0yzPgkMy9c=", "narHash": "sha256-c2YaJUsLGk3WNqIHIU/Pt1fGjNH02ePsHfD5MJlfEe4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "64d9e2616f4ee2acee380d61ccf1f3d610e7e969", "rev": "d8c9d8451d4592dd7de647230f407d4d6370bd8e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -585,11 +585,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1764483358, "lastModified": 1765836173,
"narHash": "sha256-EyyvCzXoHrbL467YSsQBTWWg4sR96MH1sPpKoSOelB4=", "narHash": "sha256-hWRYfdH2ONI7HXbqZqW8Q1y9IRbnXWvtvt/ONZovSNY=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "5aca6ff67264321d47856a2ed183729271107c9c", "rev": "443a7f2e7e118c4fc63b7fae05ab3080dd0e5c63",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -724,11 +724,11 @@
"yazi-flavors": { "yazi-flavors": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1763969227, "lastModified": 1765290552,
"narHash": "sha256-twgXHeIj52EfpMpLrhxjYmwaPnIYah3Zk/gqCNTb2SQ=", "narHash": "sha256-hEnrvfJwCAgM12QwPmjHEwF5xNrwqZH1fTIb/QG0NFI=",
"owner": "yazi-rs", "owner": "yazi-rs",
"repo": "flavors", "repo": "flavors",
"rev": "3edeb49597e1080621a9b0b50d9f0a938b8f62bb", "rev": "ffe6e3a16c5c51d7e2dedacf8de662fe2413f73a",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -12,6 +12,7 @@
./features/yazi ./features/yazi
./features/emacs ./features/emacs
./features/tmux ./features/tmux
./features/qt-distrobox
./features/hyprland ./features/hyprland

View File

@@ -67,6 +67,7 @@ in {
# neocmakelsp # cmake # neocmakelsp # cmake
emacs-all-the-icons-fonts emacs-all-the-icons-fonts
frajul.typst-languagetool
] ]
++ lib.optional config.is-nixos emacs; ++ lib.optional config.is-nixos emacs;

View File

@@ -228,6 +228,10 @@ in {
vfr = true; # power saving vfr = true; # power saving
}; };
cursor = {
no_hardware_cursors = 1; # disable hardware cursors to fix tearing on kardorf
};
render = { render = {
# we do, in fact, want direct scanout # we do, in fact, want direct scanout
direct_scanout = true; direct_scanout = true;

View File

@@ -3,8 +3,9 @@
pkgs, pkgs,
inputs, inputs,
... ...
}: { }:
imports = [inputs.nixvim.homeModules.nixvim]; {
imports = [ inputs.nixvim.homeModules.nixvim ];
home.sessionVariables = { home.sessionVariables = {
EDITOR = "nvim"; EDITOR = "nvim";
@@ -78,6 +79,7 @@
neogit.enable = true; # like magit neogit.enable = true; # like magit
trouble.enable = true; trouble.enable = true;
web-devicons.enable = true; web-devicons.enable = true;
orgmode.enable = true; # org-mode support
# Shows file trees # Shows file trees
oil = { oil = {
@@ -91,9 +93,9 @@
conform-nvim = { conform-nvim = {
enable = true; enable = true;
settings.formatters_by_ft = with pkgs; { settings.formatters_by_ft = with pkgs; {
lua = ["stylua"]; lua = [ "stylua" ];
python = ["black"]; python = [ "black" ];
nix = ["nixfmt"]; nix = [ "nixfmt" ];
}; };
# extraOptions = { # extraOptions = {
# default_format_opts.lsp_format = "fallback"; # default_format_opts.lsp_format = "fallback";
@@ -105,9 +107,9 @@
enable = true; enable = true;
autoEnableSources = true; autoEnableSources = true;
settings.sources = [ settings.sources = [
{name = "nvim_lsp";} { name = "nvim_lsp"; }
{name = "path";} { name = "path"; }
{name = "buffer";} { name = "buffer"; }
]; ];
settings.mapping = { settings.mapping = {
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})"; "<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";

View File

@@ -0,0 +1,22 @@
{
programs.distrobox = {
enable = true;
containers."qt-distrobox" = {
image = "debian:12.2";
exported_apps = "qtcreator";
enableSystemdUnit = false; # fails in creating and does not recreate. Do distrobox-assemble create --replace --file ~/.config/distrobox/containers.ini instead
additional_packages = [
"qtcreator"
"qt6-base-dev"
"qt6-wayland"
"qt6-tools-dev-tools"
"qt6-tools-dev"
"qt6-serialbus-dev"
"qt6-websockets-dev"
"libgl1-mesa-dev"
"build-essential"
"cmake"
];
};
};
}

View File

@@ -9,7 +9,7 @@
clippy clippy
cntr # nix debugger cntr # nix debugger
conda conda
micromamba # a better, faster conda # micromamba # a better, faster conda
devcontainer # development container devcontainer # development container
devenv # devbox alternative devenv # devbox alternative
dbeaver-bin dbeaver-bin
@@ -21,22 +21,21 @@
unstable.zed-editor unstable.zed-editor
jdk jdk
julia-bin julia-bin
(texlive.combine { # (texlive.combine {
# for rendering latex in inkscape # # for rendering latex in inkscape
inherit # inherit
(texlive) # (texlive)
scheme-medium # scheme-medium
standalone # standalone
amsmath # amsmath
preview # preview
# needed for org mode export # # needed for org mode export
wrapfig # wrapfig
capt-of # capt-of
biblatex # biblatex
; # ;
}) # })
vagrant vagrant
qtcreator
matlab # Using nix-matlab overlay defined in flake matlab # Using nix-matlab overlay defined in flake
maven maven
nodejs nodejs

View File

@@ -9,7 +9,7 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
exiftool exiftool
unar # extract archives unar # extract archives
dragon-drop# dragndrop dragon-drop # dragndrop
poppler-utils # pdf preview poppler-utils # pdf preview
fd fd
ripgrep ripgrep

View File

@@ -1,6 +1,5 @@
# Only apply this to home-manager standalone # Only apply this to home-manager standalone
{ outputs, ... }: {outputs, ...}: {
{
# Apply overlays # Apply overlays
nixpkgs = { nixpkgs = {
overlays = builtins.attrValues outputs.overlays; overlays = builtins.attrValues outputs.overlays;
@@ -20,13 +19,13 @@
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
"https://cache.nixos.org/" "https://cache.nixos.org/"
"https://hyprland.cachix.org" "https://hyprland.cachix.org"
"http://binarycache.julian-mutter.de" "https://devenv.cachix.org"
]; ];
trusted-public-keys = [ trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"binarycache.julian-mutter.de:oJ67uRFwRhNPKL58CHzy3QQLv38Kx7OA1K+6xlEPu7E=" "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="
]; ];
trusted-users = [ trusted-users = [

View File

@@ -8,11 +8,14 @@
./features/neovim ./features/neovim
./features/ghostty ./features/ghostty
./features/wezterm ./features/wezterm
./features/alacritty
./features/yazi ./features/yazi
./features/emacs ./features/emacs
# ./features/hyprland ./features/tmux
./features/i3 ./features/qt-distrobox
./features/hyprland
# ./features/i3
./features/suites/cli ./features/suites/cli
./features/suites/desktop ./features/suites/desktop
@@ -21,7 +24,7 @@
hostName = "kardorf"; hostName = "kardorf";
is-nixos = true; is-nixos = true;
terminal = "ghostty"; terminal = "alacritty";
# --------- --------- # --------- ---------
# | DVI-D-1 | | DVI-D-2 | # | DVI-D-1 | | DVI-D-2 |

View File

@@ -13,6 +13,7 @@
../features/yazi ../features/yazi
../features/emacs ../features/emacs
../features/nix-helper ../features/nix-helper
../features/qt-distrobox
]; ];
hostName = "aspi"; hostName = "aspi";

View File

@@ -42,6 +42,7 @@
}; };
}; };
programs.hyprland.enable = true;
services.desktopManager.plasma6.enable = true; services.desktopManager.plasma6.enable = true;
services.blueman.enable = true; services.blueman.enable = true;

View File

@@ -41,8 +41,9 @@
"8.8.8.8" "8.8.8.8"
]; ];
# HM # HM module
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true; # hm module uses the pkgs of the nixos config
home-manager.backupFileExtension = "hm-backup"; # backup conflicting files. So hm activation never fails
home-manager.extraSpecialArgs = { home-manager.extraSpecialArgs = {
inherit inputs outputs; inherit inputs outputs;
}; };

View File

@@ -32,8 +32,7 @@
nix.gc = { nix.gc = {
automatic = true; automatic = true;
dates = "weekly"; dates = "weekly";
# Keep the last 3 generations options = "--delete-older-than 30d";
options = "--delete-older-than +3";
}; };
nix.optimise = { nix.optimise = {
automatic = true; automatic = true;

View File

@@ -1,26 +1,9 @@
{ {config, ...}: let
pkgs,
lib,
config,
...
}: let
homeCfgs = config.home-manager.users; homeCfgs = config.home-manager.users;
homeSharePaths = lib.mapAttrsToList (_: v: "${v.home.path}/share") homeCfgs;
vars = ''XDG_DATA_DIRS="$XDG_DATA_DIRS:${lib.concatStringsSep ":" homeSharePaths}" GTK_USE_PORTAL=0'';
julianCfg = homeCfgs.julian; julianCfg = homeCfgs.julian;
sway-kiosk = command: "${lib.getExe pkgs.sway} --unsupported-gpu --config ${pkgs.writeText "kiosk.config" ''
output * bg #000000 solid_color
xwayland disable
input "type:touchpad" {
tap enabled
}
exec '${vars} ${command}; ${pkgs.sway}/bin/swaymsg exit'
''}";
in { in {
users.extraUsers.greeter = { users.extraUsers.greeter = {
# For caching and such # For caching
home = "/tmp/greeter-home"; home = "/tmp/greeter-home";
createHome = true; createHome = true;
}; };
@@ -33,13 +16,22 @@ in {
cursorTheme = { cursorTheme = {
inherit (julianCfg.gtk.cursorTheme) name package; inherit (julianCfg.gtk.cursorTheme) name package;
}; };
cageArgs = [
"-s"
"-m"
"last"
]; # multimonitor use last monitor
# settings.background = { # settings.background = {
# path = julianCfg.wallpaper; # path = julianCfg.wallpaper;
# fit = "Cover"; # fit = "Cover";
# }; # TODO: fix # }; # TODO: fix
};
services.greetd = { # TODO: setting keyboard language does not work
enable = true; # settings = {
settings.default_session.command = sway-kiosk (lib.getExe config.programs.regreet.package); # env = {
# XKB_DEFAULT_LAYOUT = "de";
# # XKB_DEFAULT_VARIANT = "altgr-intl";
# };
# };
}; };
} }

View File

@@ -1,4 +1,5 @@
{pkgs, ...}: { { pkgs, ... }:
{
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
@@ -7,21 +8,22 @@
../common/users/wolfi ../common/users/wolfi
../common/optional/binarycaches.nix ../common/optional/binarycaches.nix
../common/optional/xserver.nix # ../common/optional/xserver.nix
../common/optional/remote-builder.nix ../common/optional/remote-builder.nix
../common/optional/boot-efi.nix ../common/optional/boot-efi.nix
# ../common/optional/greetd.nix ../common/optional/greetd.nix
../common/optional/gdm.nix
../common/optional/i3.nix
../common/optional/openssh.nix
../common/optional/authentication.nix ../common/optional/authentication.nix
../common/optional/pcmanfm.nix ../common/optional/pcmanfm.nix
../common/optional/pipewire.nix ../common/optional/pipewire.nix
../common/optional/virtualbox.nix
# ../common/optional/gdm.nix
# ../common/optional/i3.nix
../common/optional/openssh.nix
../common/optional/podman.nix ../common/optional/podman.nix
../common/optional/flatpak.nix ../common/optional/flatpak.nix
]; ];
@@ -32,14 +34,17 @@
# Not using the drivers leads to way better results # Not using the drivers leads to way better results
# services.xserver.videoDrivers = [ "nvidia" ]; # services.xserver.videoDrivers = [ "nvidia" ];
networking.networkmanager.insertNameservers = [ "192.168.3.252" ];
programs.kdeconnect.enable = true; programs.kdeconnect.enable = true;
programs.hyprland.enable = true;
services.desktopManager.plasma6.enable = true; services.desktopManager.plasma6.enable = true;
# Enable CUPS to print documents. # Enable CUPS to print documents.
services.printing.enable = true; services.printing.enable = true;
services.printing.browsing = true; services.printing.browsing = true;
services.printing.drivers = with pkgs; [gutenprint]; services.printing.drivers = with pkgs; [ gutenprint ];
services.libinput.enable = true; services.libinput.enable = true;
} }

View File

@@ -13,6 +13,7 @@
pob2 = pkgs.callPackage ./pob2 {}; pob2 = pkgs.callPackage ./pob2 {};
wl-ocr = pkgs.callPackage ./wl-ocr {}; wl-ocr = pkgs.callPackage ./wl-ocr {};
rtklib = pkgs.qt6Packages.callPackage ./rtklib {}; rtklib = pkgs.qt6Packages.callPackage ./rtklib {};
typst-languagetool = pkgs.callPackage ./typst-languagetool {};
pob2-frajul = pkgs.callPackage ./pob2-frajul {}; pob2-frajul = pkgs.callPackage ./pob2-frajul {};
rpi-ws281x-python = pkgs.callPackage ./rpi-ws281x-python {}; rpi-ws281x-python = pkgs.callPackage ./rpi-ws281x-python {};

View File

@@ -20,7 +20,7 @@ writeShellApplication {
sleep 0.1 sleep 0.1
nheko & nheko &
sleep 0.1 sleep 0.1
telegram-desktop & Telegram &
sleep 0.1 sleep 0.1
discord & discord &
''; '';

View File

@@ -0,0 +1,27 @@
{
rustPlatform,
fetchFromGitHub,
openssl,
pkg-config,
...
}:
rustPlatform.buildRustPackage {
pname = "typst-languagetool";
version = "0.1.0";
src = fetchFromGitHub {
owner = "antonWetzel";
repo = "typst-languagetool";
rev = "b667a7ed94c8d671b23dd4ec018c58039277f0d6";
sha256 = "sha256-sxE8mQW/bH58oZzamjxTQIcSjQh4FaYvrYfNJrnm8Io=";
};
cargoHash = "sha256-80Dfpy2MB7ty841azRwBtA7hhO/yUXh2N4cvtrgTd2g=";
buildFeatures = ["server"];
cargoBuildFlags = "-p cli";
# optional dependencies
buildInputs = [openssl];
nativeBuildInputs = [pkg-config];
}