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"
} }
} }
}, },

100
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;
homeConfigurations = { home-manager.users.till = {
till = home-manager.lib.homeManagerConfiguration { imports = [
pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default;
extraSpecialArgs = { inherit inputs; };
modules = [
./home ./home
]; ];
}; };
"till@romulus" = home-manager.lib.homeManagerConfiguration { }
pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default;
extraSpecialArgs = { inherit inputs; };
modules = [
./home/slim-desktop.nix
];
};
"till@arielle" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { inherit inputs; };
modules = [
./home/on-server.nix
];
};
alt = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default;
extraSpecialArgs = { inherit inputs; };
modules = [
./home/alt.nix
];
};
guest = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default;
extraSpecialArgs = { inherit inputs; };
modules = [
./home/guest.nix
]; ];
}; };
}; };
# homeConfigurations = {
# till = home-manager.lib.homeManagerConfiguration {
# pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default;
# extraSpecialArgs = { inherit inputs; };
# modules = [
# ./home
# ];
# };
# "till@romulus" = home-manager.lib.homeManagerConfiguration {
# pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default;
# extraSpecialArgs = { inherit inputs; };
# modules = [
# ./home/slim-desktop.nix
# ];
# };
# "till@arielle" = home-manager.lib.homeManagerConfiguration {
# pkgs = nixpkgs.legacyPackages.x86_64-linux;
# extraSpecialArgs = { inherit inputs; };
# modules = [
# ./home/on-server.nix
# ];
# };
# alt = home-manager.lib.homeManagerConfiguration {
# pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default;
# extraSpecialArgs = { inherit inputs; };
# modules = [
# ./home/alt.nix
# ];
# };
# guest = home-manager.lib.homeManagerConfiguration {
# pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default;
# extraSpecialArgs = { inherit inputs; };
# modules = [
# ./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,41 +1,7 @@
{ pkgs, ... }: { pkgs, ... }:
{ let
home.packages = with pkgs; customPackages = with pkgs.rPackages; [
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 catmaply
clipr clipr
DAAG DAAG
@ -51,7 +17,6 @@
languageserver languageserver
magrittr magrittr
mapproj mapproj
# networkD3
openxlsx openxlsx
osmdata osmdata
plotly plotly
@ -61,31 +26,29 @@
RColorBrewer RColorBrewer
readODS readODS
revealjs revealjs
# restatis
rlist rlist
rmarkdown rmarkdown
rnaturalearth rnaturalearth
rnaturalearthdata rnaturalearthdata
# roxygen2 roxygen2
# RSQLite
rvest rvest
sf sf
stringr stringr
# swirl testthat
# testthat
tidyr tidyr
tidyverse tidyverse
tmap tmap
xlsx xlsx
yaml yaml
lectuR
publishR
# goethR
# ggtree
]; ];
R-packed = rWrapper.override { packages = customPackages; };
RStudio-packed = rstudioWrapper.override { packages = customPackages; }; R-packed = pkgs.rWrapper.override { packages = customPackages; };
in [ RStudio-packed = pkgs.rstudioWrapper.override { packages = customPackages; };
in
{
home.packages = with pkgs; [
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
]; ];
}; };
} }