Split home.nix into multiple files
Use dedicated files for files, packages and xdg. This shortens the huge home.nix file.
This commit is contained in:
parent
5f66cd8f14
commit
fb009d303d
156
home.nix
156
home.nix
|
@ -25,80 +25,12 @@
|
|||
# changes in each release.
|
||||
stateVersion = "22.05";
|
||||
|
||||
packages = [
|
||||
pkgs.nix
|
||||
pkgs.cacert
|
||||
|
||||
# System tools
|
||||
pkgs.dmenu
|
||||
pkgs.networkmanager_dmenu
|
||||
pkgs.dmenu-custom-scripts
|
||||
pkgs.custom-update-system
|
||||
pkgs.custom-push-etckeeper
|
||||
pkgs.dunst
|
||||
pkgs.i3blocks
|
||||
pkgs.st
|
||||
pkgs.ncdu
|
||||
pkgs.tree
|
||||
pkgs.rst2pdf
|
||||
|
||||
pkgs.espeak
|
||||
pkgs.bc
|
||||
|
||||
pkgs.borgbackup
|
||||
pkgs.keepassxc
|
||||
|
||||
pkgs.libreoffice
|
||||
|
||||
# Dev tools
|
||||
pkgs.litecli
|
||||
pkgs.sqlite
|
||||
pkgs.mycli
|
||||
# pkgs.mytop
|
||||
pkgs.robo3t
|
||||
pkgs.mkcert
|
||||
pkgs.tig
|
||||
pkgs.universal-ctags
|
||||
pkgs.silver-searcher
|
||||
pkgs.curl
|
||||
pkgs.wget
|
||||
pkgs.kcachegrind
|
||||
pkgs.geckodriver
|
||||
|
||||
# In order to pull binaries from their.
|
||||
# E.g. phps: https://github.com/fossar/nix-phps#how-to-use
|
||||
pkgs.cachix
|
||||
|
||||
# Coding / Neovim
|
||||
# Does not provide any autocompletion yet, don't know why
|
||||
# Use in conjuncion with https://github.com/autozimu/LanguageClient-neovim
|
||||
# pkgs.rnix-lsp
|
||||
|
||||
pkgs.custom-customer-project
|
||||
|
||||
# Communication
|
||||
pkgs.signal-desktop
|
||||
pkgs.thunderbird
|
||||
|
||||
# Media
|
||||
pkgs.vlc
|
||||
pkgs.yt-dlp
|
||||
pkgs.spotdl
|
||||
# Does not work for some reason, need installed via apt
|
||||
# pkgs.sound-juicer
|
||||
# pkgs.audacity
|
||||
pkgs.ffmpeg
|
||||
pkgs.python39Packages.mutagen
|
||||
pkgs.darktable
|
||||
];
|
||||
|
||||
file = {
|
||||
".nix-channels".source = ./home/files/nix-channels;
|
||||
".profile".source = ./home/files/profile;
|
||||
".myclirc".source = ./home/files/myclirc;
|
||||
".agignore".source = ./home/files/agignore;
|
||||
packages = import ./home/packages.nix {
|
||||
inherit pkgs;
|
||||
};
|
||||
|
||||
file = import ./home/files.nix { };
|
||||
|
||||
};
|
||||
|
||||
nix = import ./home/programs/nix.nix {
|
||||
|
@ -142,84 +74,8 @@
|
|||
inherit config pkgs;
|
||||
};
|
||||
|
||||
xdg = {
|
||||
|
||||
configFile = {
|
||||
"ctags/config.ctags".source = ./home/files/ctags;
|
||||
"litecli/config".source = ./home/files/litecli;
|
||||
"phpactor".source = ./home/files/phpactor;
|
||||
"yamllint/config".source = ./home/files/yamllint/config;
|
||||
"tig/config".source = ./home/files/tig;
|
||||
|
||||
"cmus/smyckblue.theme".source = ./home/files/cmus/smyckblue.theme;
|
||||
"cmus/rc".source = ./home/files/cmus/rc;
|
||||
|
||||
"i3blocks/config".source = ./home/files/i3-blocks;
|
||||
|
||||
"borg/exclude".source = ./home/files/borg-exclude;
|
||||
};
|
||||
|
||||
dataFile = {
|
||||
"xsd/xliff-core-1.2-strict.xsd".source = pkgs.fetchurl {
|
||||
url = "https://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd";
|
||||
sha256 = "nzevVk7NJ9X2kVTXz+e6jesfYgyBuUzw6rH0IFx01fg=";
|
||||
};
|
||||
"typo3-configuration".source = ./home/files/typo3-configuration;
|
||||
};
|
||||
|
||||
desktopEntries = {
|
||||
networkmanager-dmenu = {
|
||||
type = "Application";
|
||||
exec = "${pkgs.networkmanager_dmenu}/bin/networkmanager_dmenu";
|
||||
name = "Networkmanager dmenu";
|
||||
comment = "Networkmanaging using dmenu";
|
||||
genericName = "Networkmanager Setting";
|
||||
categories = [
|
||||
"Network"
|
||||
];
|
||||
};
|
||||
slack-typo3 = {
|
||||
name = "Slack TYPO3";
|
||||
type = "Application";
|
||||
exec = "/snap/bin/chromium --class=\"chat\" --new-window --app=https://app.slack.com/client/T024TUMLZ/unreads";
|
||||
};
|
||||
slack-codappix = {
|
||||
name = "Slack Codappix";
|
||||
type = "Application";
|
||||
exec = "/snap/bin/chromium --class=\"chat\" --new-window --app=https://app.slack.com/client/T2DPNS55W/unreads";
|
||||
};
|
||||
slack-sac = {
|
||||
name = "Slack SAC";
|
||||
type = "Application";
|
||||
exec = "/snap/bin/chromium --class=\"chat\" --new-window --app=https://app.slack.com/client/T3FANTPL5/unreads";
|
||||
};
|
||||
microsoft-teams = {
|
||||
name = "Microsoft Teams";
|
||||
type = "Application";
|
||||
exec = "/snap/bin/chromium --class=\"chat\" --new-window --user-agent=\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36\" --new-window --app=https://teams.microsoft.com/";
|
||||
};
|
||||
mattermost = {
|
||||
name = "Mattermost werkraum-media";
|
||||
type = "Application";
|
||||
exec = "/snap/bin/chromium --class=\"chat\" --new-window --new-window --app=https://mattermost.werkraum-media.de/";
|
||||
};
|
||||
werkraum-jitsi = {
|
||||
name = "Jitsi werkraum-media";
|
||||
type = "Application";
|
||||
exec = "/snap/bin/chromium --class=\"chat\" --new-window --new-window --app=https://jitsi.werkraum-media.de/codappix";
|
||||
};
|
||||
toggl = {
|
||||
name = "Toggl Time Tracking";
|
||||
type = "Application";
|
||||
exec = "${pkgs.firefox}/bin/firefox --class=\"time-tracking\" --new-instance -P toggl https://track.toggl.com/timer";
|
||||
};
|
||||
mailhog-ui = {
|
||||
name = "Mailhog";
|
||||
type = "Application";
|
||||
exec = "${pkgs.firefox}/bin/firefox --class=\"mailhog\" --new-instance -P mailhog https://mailhog.localhost";
|
||||
};
|
||||
};
|
||||
|
||||
xdg = import ./home/xdg.nix {
|
||||
inherit pkgs;
|
||||
};
|
||||
|
||||
services = {
|
||||
|
|
8
home/files.nix
Normal file
8
home/files.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
_:
|
||||
|
||||
{
|
||||
".nix-channels".source = ./files/nix-channels;
|
||||
".profile".source = ./files/profile;
|
||||
".myclirc".source = ./files/myclirc;
|
||||
".agignore".source = ./files/agignore;
|
||||
}
|
68
home/packages.nix
Normal file
68
home/packages.nix
Normal file
|
@ -0,0 +1,68 @@
|
|||
{ pkgs }:
|
||||
|
||||
with pkgs; [
|
||||
nix
|
||||
cacert
|
||||
|
||||
# System tools
|
||||
dmenu
|
||||
networkmanager_dmenu
|
||||
dmenu-custom-scripts
|
||||
custom-update-system
|
||||
custom-push-etckeeper
|
||||
dunst
|
||||
i3blocks
|
||||
st
|
||||
ncdu
|
||||
tree
|
||||
rst2pdf
|
||||
|
||||
espeak
|
||||
bc
|
||||
|
||||
borgbackup
|
||||
keepassxc
|
||||
|
||||
libreoffice
|
||||
|
||||
# Dev tools
|
||||
litecli
|
||||
sqlite
|
||||
mycli
|
||||
# mytop
|
||||
robo3t
|
||||
mkcert
|
||||
tig
|
||||
universal-ctags
|
||||
silver-searcher
|
||||
curl
|
||||
wget
|
||||
kcachegrind
|
||||
geckodriver
|
||||
|
||||
# In order to pull binaries from their.
|
||||
# E.g. phps: https://github.com/fossar/nix-phps#how-to-use
|
||||
cachix
|
||||
|
||||
# Coding / Neovim
|
||||
# Does not provide any autocompletion yet, don't know why
|
||||
# Use in conjuncion with https://github.com/autozimu/LanguageClient-neovim
|
||||
# rnix-lsp
|
||||
|
||||
custom-customer-project
|
||||
|
||||
# Communication
|
||||
signal-desktop
|
||||
thunderbird
|
||||
|
||||
# Media
|
||||
vlc
|
||||
yt-dlp
|
||||
spotdl
|
||||
# Does not work for some reason, need installed via apt
|
||||
# sound-juicer
|
||||
# audacity
|
||||
ffmpeg
|
||||
python39Packages.mutagen
|
||||
darktable
|
||||
]
|
79
home/xdg.nix
Normal file
79
home/xdg.nix
Normal file
|
@ -0,0 +1,79 @@
|
|||
{ pkgs }:
|
||||
|
||||
{
|
||||
configFile = {
|
||||
"ctags/config.ctags".source = ./files/ctags;
|
||||
"litecli/config".source = ./files/litecli;
|
||||
"phpactor".source = ./files/phpactor;
|
||||
"yamllint/config".source = ./files/yamllint/config;
|
||||
"tig/config".source = ./files/tig;
|
||||
|
||||
"cmus/smyckblue.theme".source = ./files/cmus/smyckblue.theme;
|
||||
"cmus/rc".source = ./files/cmus/rc;
|
||||
|
||||
"i3blocks/config".source = ./files/i3-blocks;
|
||||
|
||||
"borg/exclude".source = ./files/borg-exclude;
|
||||
};
|
||||
|
||||
dataFile = {
|
||||
"xsd/xliff-core-1.2-strict.xsd".source = pkgs.fetchurl {
|
||||
url = "https://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd";
|
||||
sha256 = "nzevVk7NJ9X2kVTXz+e6jesfYgyBuUzw6rH0IFx01fg=";
|
||||
};
|
||||
"typo3-configuration".source = ./files/typo3-configuration;
|
||||
};
|
||||
|
||||
desktopEntries = {
|
||||
networkmanager-dmenu = {
|
||||
type = "Application";
|
||||
exec = "${pkgs.networkmanager_dmenu}/bin/networkmanager_dmenu";
|
||||
name = "Networkmanager dmenu";
|
||||
comment = "Networkmanaging using dmenu";
|
||||
genericName = "Networkmanager Setting";
|
||||
categories = [
|
||||
"Network"
|
||||
];
|
||||
};
|
||||
slack-typo3 = {
|
||||
name = "Slack TYPO3";
|
||||
type = "Application";
|
||||
exec = "/snap/bin/chromium --class=\"chat\" --new-window --app=https://app.slack.com/client/T024TUMLZ/unreads";
|
||||
};
|
||||
slack-codappix = {
|
||||
name = "Slack Codappix";
|
||||
type = "Application";
|
||||
exec = "/snap/bin/chromium --class=\"chat\" --new-window --app=https://app.slack.com/client/T2DPNS55W/unreads";
|
||||
};
|
||||
slack-sac = {
|
||||
name = "Slack SAC";
|
||||
type = "Application";
|
||||
exec = "/snap/bin/chromium --class=\"chat\" --new-window --app=https://app.slack.com/client/T3FANTPL5/unreads";
|
||||
};
|
||||
microsoft-teams = {
|
||||
name = "Microsoft Teams";
|
||||
type = "Application";
|
||||
exec = "/snap/bin/chromium --class=\"chat\" --new-window --user-agent=\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36\" --new-window --app=https://teams.microsoft.com/";
|
||||
};
|
||||
mattermost = {
|
||||
name = "Mattermost werkraum-media";
|
||||
type = "Application";
|
||||
exec = "/snap/bin/chromium --class=\"chat\" --new-window --new-window --app=https://mattermost.werkraum-media.de/";
|
||||
};
|
||||
werkraum-jitsi = {
|
||||
name = "Jitsi werkraum-media";
|
||||
type = "Application";
|
||||
exec = "/snap/bin/chromium --class=\"chat\" --new-window --new-window --app=https://jitsi.werkraum-media.de/codappix";
|
||||
};
|
||||
toggl = {
|
||||
name = "Toggl Time Tracking";
|
||||
type = "Application";
|
||||
exec = "${pkgs.firefox}/bin/firefox --class=\"time-tracking\" --new-instance -P toggl https://track.toggl.com/timer";
|
||||
};
|
||||
mailhog-ui = {
|
||||
name = "Mailhog";
|
||||
type = "Application";
|
||||
exec = "${pkgs.firefox}/bin/firefox --class=\"mailhog\" --new-instance -P mailhog https://mailhog.localhost";
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue