it works!

This commit is contained in:
Till 2026-01-22 16:44:45 +01:00
parent 386d889455
commit 50d6a79e31
15 changed files with 204 additions and 256 deletions

64
flake.lock generated
View file

@ -1,24 +1,25 @@
{ {
"nodes": { "nodes": {
"flake-parts": { "firefox-addons": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs": [
"nur",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1733312601, "dir": "pkgs/firefox-addons",
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "lastModified": 1769054619,
"owner": "hercules-ci", "narHash": "sha256-LCc0gbSgjehdy41Gi1H5WNxEuW9PtRHFVaPXoFzslQU=",
"repo": "flake-parts", "owner": "rycee",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "repo": "nur-expressions",
"type": "github" "rev": "6509620630f68dc02ac3e99f15a67760778444ff",
"type": "gitlab"
}, },
"original": { "original": {
"owner": "hercules-ci", "dir": "pkgs/firefox-addons",
"repo": "flake-parts", "owner": "rycee",
"type": "github" "repo": "nur-expressions",
"type": "gitlab"
} }
}, },
"home-manager": { "home-manager": {
@ -58,46 +59,11 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": {
"locked": {
"lastModified": 1768127708,
"narHash": "sha256-1Sm77VfZh3mU0F5OqKABNLWxOuDeHIlcFjsXeeiPazs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "ffbc9f8cbaacfb331b6017d5a5abb21a492c9a38",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1768226540,
"narHash": "sha256-7ITnaEIsloaaOpqxIEYjUvodWz3VcT0ERi0NiZx7U/g=",
"owner": "nix-community",
"repo": "nur",
"rev": "b87f89e9dc56296f29fb3caa93f7fb6058f8c5f3",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nur",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"firefox-addons": "firefox-addons",
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs"
"nur": "nur"
} }
} }
}, },

104
flake.nix
View file

@ -4,9 +4,16 @@
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
home-manager.url = "github:nix-community/home-manager/release-25.11";
home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager = {
nur.url = "github:nix-community/nur"; url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs";
};
firefox-addons = {
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
@ -16,7 +23,9 @@
arielle = nixpkgs.lib.nixosSystem { arielle = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
modules = [ ./hosts/arielle ]; modules = [
./hosts/arielle
];
}; };
homer = nixpkgs.lib.nixosSystem { homer = nixpkgs.lib.nixosSystem {
@ -31,47 +40,58 @@
nova = nixpkgs.lib.nixosSystem { nova = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
modules = [ ./hosts/nova ]; modules = [ ./hosts/nova
home-manager.nixosModules.home-manager {
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.till = {
imports = [
./home
];
};
}
];
}; };
}; };
homeConfigurations = { # homeConfigurations = {
till = home-manager.lib.homeManagerConfiguration { # till = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default; # pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default;
extraSpecialArgs = { inherit inputs; }; # extraSpecialArgs = { inherit inputs; };
modules = [ # modules = [
./home # ./home
]; # ];
}; # };
"till@romulus" = home-manager.lib.homeManagerConfiguration { # "till@romulus" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default; # pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default;
extraSpecialArgs = { inherit inputs; }; # extraSpecialArgs = { inherit inputs; };
modules = [ # modules = [
./home/slim-desktop.nix # ./home/slim-desktop.nix
]; # ];
}; # };
"till@arielle" = home-manager.lib.homeManagerConfiguration { # "till@arielle" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux; # pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { inherit inputs; }; # extraSpecialArgs = { inherit inputs; };
modules = [ # modules = [
./home/on-server.nix # ./home/on-server.nix
]; # ];
}; # };
alt = home-manager.lib.homeManagerConfiguration { # alt = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default; # pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default;
extraSpecialArgs = { inherit inputs; }; # extraSpecialArgs = { inherit inputs; };
modules = [ # modules = [
./home/alt.nix # ./home/alt.nix
]; # ];
}; # };
guest = home-manager.lib.homeManagerConfiguration { # guest = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default; # pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default;
extraSpecialArgs = { inherit inputs; }; # extraSpecialArgs = { inherit inputs; };
modules = [ # modules = [
./home/guest.nix # ./home/guest.nix
]; # ];
}; # };
}; # };
}; };
} }

View file

@ -0,0 +1,48 @@
{ config, pkgs, lib, ... }:
{
imports = [
./khard-dump.nix
];
home.packages = with pkgs; [
castget
drawing
feh
ghostscript
ghostscript
hunspell
hunspellDicts.de_DE
hunspellDicts.en_US
hunspellDicts.th_TH
hyphen
hyphenDicts.de_DE
hyphenDicts.en_US
imagemagick
imagemagick
khal
khard
msmtp
notmuch
openssl
pandoc
pdftk
ripmime
taskopen
urlscan
w3m
zathura
];
programs.neovim.plugins = with pkgs.vimPlugins; [ lazy-nvim ];
xdg.configFile."nvim/lua/woof-vim.lua".text = ''
return {
"woof-vim",
name = "woof-vim",
dev = {
path = "~/devel"
}
}
'';
}

View file

@ -1,6 +1,7 @@
{ config, pkgs, osConfig, ... }: { config, pkgs, inputs, osConfig, ... }:
{ {
programs.firefox = { programs.firefox = {
enable = true; enable = true;
policies = { policies = {
@ -33,14 +34,12 @@
${config.home.username} = { ${config.home.username} = {
name = config.home.username; name = config.home.username;
isDefault = true; isDefault = true;
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ extensions.packages = with inputs.firefox-addons.packages.${pkgs.system}; [
adaptive-tab-bar-colour
auto-tab-discard auto-tab-discard
keepassxc-browser keepassxc-browser
passff passff
tampermonkey # tampermonkey
ublock-origin ublock-origin
vimium
web-archives web-archives
zotero-connector zotero-connector
]; ];
@ -66,7 +65,7 @@
definedAliases = [ "@nw" ]; definedAliases = [ "@nw" ];
}; };
"NixOS Options" = { "NixOS Options" = {
urls = [{ template = "https://search.nixos.org/options?query={searchTerms}"; }]; urls = [{ template = "https://search.nixos.org/options?channel=${osConfig.system.nixos.release}&query={searchTerms}"; }];
icon = "https://nixos.org/favicon.png"; icon = "https://nixos.org/favicon.png";
updateInterval = 24 * 60 * 60 * 1000; updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@no" ]; definedAliases = [ "@no" ];

View file

@ -1,10 +1,10 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
programs.gnupg.agent = { services.gpg-agent = {
enable = true; enable = true;
pinentryPackage = pkgs.pinentry-gnome3; pinentry.package = pkgs.pinentry-gnome3;
enableSSHSupport = true; enableSshSupport = true;
}; };
programs.gpg.settings = { programs.gpg.settings = {

View file

@ -1,8 +1,6 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
imports = [ ./khard-dump.nix ];
home.packages = with pkgs; [ home.packages = with pkgs; [
astro-language-server astro-language-server
marksman marksman
@ -18,19 +16,7 @@
extraConfig = builtins.readFile ./config.vim; extraConfig = builtins.readFile ./config.vim;
plugins = with pkgs.vimPlugins; plugins = with pkgs.vimPlugins;
let
woof = pkgs.vimUtils.buildVimPlugin {
name = "woof.vim";
src = builtins.fetchGit {
url = "ssh://git@shorbut.ktiu.net/home/git/woof.vim/";
ref = "main";
rev = "c29eb50e30ed75cf9ecdcfff198454fcc2c16922";
};
};
in
[ [
woof
cmp-nvim-lsp cmp-nvim-lsp
cmp-buffer cmp-buffer
cmp-emoji cmp-emoji

View file

@ -1,91 +1,54 @@
{ pkgs, ... }: { pkgs, ... }:
let
customPackages = with pkgs.rPackages; [
catmaply
clipr
DAAG
devtools
dplyr
eurostat
extrafont
ggplot2
ggridges
jsonlite
kableExtra
knitr
languageserver
magrittr
mapproj
openxlsx
osmdata
plotly
progress
purrr
qrcode
RColorBrewer
readODS
revealjs
rlist
rmarkdown
rnaturalearth
rnaturalearthdata
roxygen2
rvest
sf
stringr
testthat
tidyr
tidyverse
tmap
xlsx
yaml
];
R-packed = pkgs.rWrapper.override { packages = customPackages; };
RStudio-packed = pkgs.rstudioWrapper.override { packages = customPackages; };
in
{ {
home.packages = with pkgs; home.packages = with pkgs; [
let
customPackages = with rPackages; let
lectuR = pkgs.rPackages.buildRPackage {
name = "lectuR";
src = builtins.fetchGit {
url = "ssh://git@shorbut.ktiu.net/home/git/lectuR/";
ref = "main";
rev = "0aafe4eb057a7ec12b8d6ac40ce0bfc8dab80c2b";
};
propagatedBuildInputs = [ purrr magrittr knitr kableExtra tidyr stringr yaml ];
nativeBuildInputs = [ purrr magrittr knitr kableExtra tidyr stringr yaml ];
};
publishR = pkgs.rPackages.buildRPackage {
name = "publishR";
src = builtins.fetchGit {
url = "ssh://git@shorbut.ktiu.net/home/git/publishR/";
ref = "main";
rev = "ee137a66ca3b713205ac44e5165292e7ad6388b6";
};
propagatedBuildInputs = [];
nativeBuildInputs = [];
};
goethR = pkgs.rPackages.buildRPackage {
name = "goethR";
src = builtins.fetchGit {
url = "ssh://git@arielle.ktiu.net/home/git/goethR/";
ref = "main";
rev = "e3dbfd319f01adfa4a1a1a8abc274014e6498aae";
};
propagatedBuildInputs = [];
nativeBuildInputs = [];
};
in [
bookdown
catmaply
clipr
DAAG
devtools
dplyr
eurostat
extrafont
ggplot2
ggridges
jsonlite
kableExtra
knitr
languageserver
magrittr
mapproj
# networkD3
openxlsx
osmdata
plotly
progress
purrr
qrcode
RColorBrewer
readODS
revealjs
# restatis
rlist
rmarkdown
rnaturalearth
rnaturalearthdata
# roxygen2
# RSQLite
rvest
sf
stringr
# swirl
# testthat
tidyr
tidyverse
tmap
xlsx
yaml
lectuR
publishR
# goethR
# ggtree
];
R-packed = rWrapper.override { packages = customPackages; };
RStudio-packed = rstudioWrapper.override { packages = customPackages; };
in [
R-packed R-packed
RStudio-packed RStudio-packed
]; ];

View file

@ -12,50 +12,11 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
aichat aichat
usbutils
wl-clipboard
# email
msmtp
notmuch
w3m
openssl
# gnupg
urlscan
ripmime
# office
khal
khard
taskopen
zathura
pdftk
imagemagick
feh
ghostscript
drawing
castget
# publishing
hunspell
hunspellDicts.de_DE
hunspellDicts.en_US
hunspellDicts.th_TH
hyphen
hyphenDicts.de_DE
hyphenDicts.en_US
pandoc
imagemagick
ghostscript
# media
rhythmbox
vlc
appimage-run appimage-run
# secrets
# libsecret
keepassxc keepassxc
usbutils
vlc
wl-clipboard
yubioath-flutter yubioath-flutter
]; ];
@ -66,7 +27,7 @@
./calendars.nix ./calendars.nix
./foot.nix ./foot.nix
./mail ./mail
# ./openconnect.nix ./cli-office
]; ];
programs.taskwarrior = { programs.taskwarrior = {

View file

@ -3,8 +3,8 @@
let let
certs = { certs = {
uni = "${config.home.homeDirectory}/.ssh/tstraube@${osConfig.networking.hostname}"; uni = "${config.home.homeDirectory}/.ssh/tstraube@${osConfig.networking.hostName}";
personal = "${config.home.homeDirectory}/.ssh/till@${osConfig.networking.hostname}"; personal = "${config.home.homeDirectory}/.ssh/till@${osConfig.networking.hostName}";
}; };
in in

View file

@ -5,14 +5,14 @@
imports = [ imports = [
./hardware.nix ./hardware.nix
../users/alt.nix ../../users/alt.nix
../users/guest.nix ../../users/guest.nix
../system ../../system
../system/desktop ../../system/desktop
../system/desktop/gnome.nix ../../system/desktop/gnome.nix
# ../system/desktop/cast.nix # ../../system/desktop/cast.nix
../system/desktop/ergodox.nix ../../system/desktop/ergodox-udev.nix
../system/desktop/steam.nix ../../system/desktop/steam.nix
../system/desktop/yubikey.nix ../../system/desktop/yubikey-pam.nix
]; ];
} }

View file

@ -24,7 +24,7 @@
htop htop
killall killall
neovim neovim
netutils nettools
pwgen pwgen
tree tree
unzip unzip

5
system/desktop/steam.nix Normal file
View file

@ -0,0 +1,5 @@
{ config, pkgs, ... }:
{
programs.steam.enable = true;
}

View file

@ -7,7 +7,7 @@
extraGroups = [ "networkmanager" ]; extraGroups = [ "networkmanager" ];
shell = pkgs.fish; shell = pkgs.fish;
openssh.authorizedKeys.keyFiles = [ openssh.authorizedKeys.keyFiles = [
../../till${"@"}nova.pub ../till${"@"}nova.pub
]; ];
}; };
} }

View file

@ -10,7 +10,7 @@
]; ];
shell = pkgs.fish; shell = pkgs.fish;
openssh.authorizedKeys.keyFiles = [ openssh.authorizedKeys.keyFiles = [
../../till${"@"}nova.pub ../till${"@"}nova.pub
]; ];
}; };
} }