478 lines
10 KiB
Nix
478 lines
10 KiB
Nix
{ nix-config, config, lib, pkgs, inputs, ... }:
|
|
{
|
|
nixpkgs = {
|
|
config = {
|
|
allowUnfree = true;
|
|
};
|
|
overlays = builtins.attrValues nix-config.overlays
|
|
++ [
|
|
inputs.emacs-overlay.overlays.default
|
|
inputs.audio.overlays.default
|
|
inputs.niri.overlays.niri
|
|
inputs.nix-rice.overlays.default
|
|
];
|
|
};
|
|
|
|
imports = with nix-config.homeModules; [
|
|
mako
|
|
mpv
|
|
yazi
|
|
hyprlock
|
|
hypridle
|
|
shell-conf # shell, shell utils, cli tools, libs, tui's
|
|
email
|
|
gnome
|
|
niri
|
|
# shikane
|
|
];
|
|
|
|
home = {
|
|
packages = lib.mkMerge [
|
|
[
|
|
inputs.affinity-nix.packages.x86_64-linux.photo
|
|
inputs.affinity-nix.packages.x86_64-linux.publisher
|
|
inputs.affinity-nix.packages.x86_64-linux.designer
|
|
]
|
|
|
|
(with nix-config.packages.x86_64-linux; [
|
|
mioctl
|
|
tal.bassline
|
|
tal.j8
|
|
tal.u-no-lx
|
|
chair-audio.snare
|
|
chair-audio.cymb
|
|
the-usual-suspects.vavra
|
|
the-usual-suspects.nodal-red
|
|
the-usual-suspects.xenia
|
|
the-usual-suspects.ostirus
|
|
the-usual-suspects.osirus
|
|
paulxstretch
|
|
])
|
|
|
|
(with pkgs; [
|
|
guix
|
|
thonny
|
|
|
|
bitwig-studio5-latest
|
|
|
|
wayback
|
|
|
|
dconf
|
|
xorg.libX11
|
|
xorg.libxcb
|
|
freetype
|
|
|
|
neofetch
|
|
nvd
|
|
ripgrep-all
|
|
silver-searcher
|
|
maestral
|
|
maestral-gui
|
|
fstl
|
|
godot_4
|
|
sane-airscan
|
|
xsane
|
|
dbus
|
|
gst_all_1.gstreamer
|
|
alsa-oss
|
|
powertop
|
|
age
|
|
sops
|
|
|
|
protonplus
|
|
ispell
|
|
(aspellWithDicts (dicts: with dicts; [ en en-computers en-science es fr ]))
|
|
texlive.combined.scheme-full
|
|
appimage-run
|
|
libappimage
|
|
transmission_4-gtk
|
|
guile
|
|
python3
|
|
ruff
|
|
|
|
(sbcl.withPackages (ps: with ps; [
|
|
cffi
|
|
arrow-macros
|
|
alexandria
|
|
serapeum
|
|
]))
|
|
|
|
kdotool
|
|
ccl
|
|
racket
|
|
gdu
|
|
poppler_utils
|
|
|
|
cljfmt
|
|
libxml2
|
|
gdtoolkit_4
|
|
|
|
nixfmt-rfc-style
|
|
wl-clipboard
|
|
clipse
|
|
maim
|
|
php
|
|
rustup
|
|
shfmt
|
|
html-tidy
|
|
wayland-utils
|
|
libheif.out
|
|
openal
|
|
freecad
|
|
procs
|
|
rpi-imager
|
|
caligula
|
|
flatpak
|
|
|
|
prusa-slicer
|
|
|
|
via
|
|
vial
|
|
bitwarden-cli
|
|
bitwarden-desktop
|
|
tailscale
|
|
trayscale
|
|
font-manager
|
|
scribus
|
|
pdfarranger
|
|
tdf
|
|
pdfchain
|
|
pdftk
|
|
zathura
|
|
gpu-viewer
|
|
|
|
wl-mirror
|
|
|
|
soundconverter
|
|
wmctrl
|
|
colloid-icon-theme
|
|
whitesur-gtk-theme
|
|
whitesur-cursors
|
|
whitesur-icon-theme
|
|
bibata-cursors
|
|
adwaita-qt
|
|
|
|
icloudpd
|
|
squirreldisk
|
|
papers
|
|
newsflash
|
|
|
|
borgbackup
|
|
stirling-pdf
|
|
trash-cli
|
|
ripdrag
|
|
wineWowPackages.stagingFull
|
|
winetricks
|
|
|
|
(yabridge.override {
|
|
wine = wineWowPackages.stagingFull;
|
|
})
|
|
(yabridgectl.override {
|
|
wine = wineWowPackages.stagingFull;
|
|
})
|
|
|
|
sway-launcher-desktop
|
|
swayosd
|
|
|
|
spice
|
|
spice-gtk
|
|
spice-protocol
|
|
virt-viewer
|
|
virt-manager
|
|
|
|
thunderbird-latest
|
|
emojify
|
|
smile
|
|
|
|
impression
|
|
zoom-us
|
|
nyxt
|
|
ungoogled-chromium
|
|
obsidian
|
|
vlc
|
|
polychromatic
|
|
discord
|
|
slack
|
|
signal-desktop
|
|
eyedropper
|
|
onlyoffice-desktopeditors
|
|
libreoffice
|
|
hyphenDicts.en_US
|
|
plex-mpv-shim
|
|
plexamp
|
|
|
|
carla
|
|
switcheroo
|
|
tenacity
|
|
supercollider-with-plugins
|
|
blender
|
|
davinci-resolve-studio
|
|
steam
|
|
processing
|
|
zotero
|
|
jre
|
|
tesseract
|
|
handbrake
|
|
renoise
|
|
krita
|
|
rawtherapee
|
|
inkscape
|
|
gimp
|
|
epsonscan2
|
|
kicad
|
|
turbocase
|
|
openscad-unstable
|
|
openscad-lsp
|
|
picard
|
|
evolutionWithPlugins
|
|
plugdata
|
|
pavucontrol
|
|
qpwgraph
|
|
helvum
|
|
coppwr
|
|
alsa-utils
|
|
alsa-tools
|
|
clapper
|
|
ardour
|
|
dockfmt
|
|
impala
|
|
|
|
fractal
|
|
|
|
oculante
|
|
|
|
farge
|
|
halloy
|
|
paleta
|
|
tree-sitter
|
|
(tree-sitter.withPlugins (_: tree-sitter.allGrammars))
|
|
|
|
# Audio plugins (LV2, VST2, VST3, LADSPA)
|
|
eq10q
|
|
geonkick
|
|
bespokesynth
|
|
helm
|
|
surge
|
|
odin2
|
|
calf
|
|
chow-kick
|
|
chow-phaser
|
|
chow-centaur
|
|
chow-tape-model
|
|
chow-multitool
|
|
easyeffects
|
|
vcv-rack
|
|
cardinal
|
|
roomeqwizard
|
|
guitarix
|
|
vital
|
|
helio-workstation
|
|
stochas
|
|
])
|
|
];
|
|
|
|
username = "emenel";
|
|
homeDirectory = "/home/emenel";
|
|
|
|
sessionPath = [ "/home/emenel/.config/emacs/bin" "/home/emenel/.npm-packages/bin" "/home/emenel/Applications" "/home/emenel/.local/bin" "/home/emenel/.local/share" "/home/emenel/.nix-profile/lib"];
|
|
|
|
sessionVariables = {
|
|
WINEFSYNC = 1;
|
|
PKG_CONFIG_PATH = "/home/emenel/.nix-profile/lib/pkgconfig:/home/emenel/.nix-profile/lib64/pkgconfig:/home/emenal/.nix-profile/share/pkgconfig";
|
|
GI_TYPELIB_PATH = "/run/current-system/sw/lib/girepository-1.0";
|
|
BW_CLIENTID = "$(cat ${config.sops.defaultSymlinkPath}/bw_client_id)";
|
|
BW_CLIENTSECRET = "$(cat ${config.sops.defaultSymlinkPath}/bw_api_key)";
|
|
NIXOS_OZONE_WL = "1";
|
|
GSK_RENDERER = "ngl";
|
|
MOZ_ENABLE_WAYLAND = 1;
|
|
};
|
|
|
|
pointerCursor = {
|
|
package = pkgs.bibata-cursors;
|
|
name = "Bibata-Modern-Classic";
|
|
size = 24;
|
|
gtk.enable = true;
|
|
x11.enable = true;
|
|
};
|
|
|
|
stateVersion = "24.05";
|
|
};
|
|
|
|
gtk.cursorTheme = {
|
|
name = "Bibata-Modern-Classic";
|
|
package = pkgs.bibata-cursors;
|
|
};
|
|
|
|
fonts = {
|
|
fontconfig = {
|
|
enable = true;
|
|
};
|
|
};
|
|
|
|
sops = {
|
|
age.keyFile = "/home/emenel/.config/sops/age/keys.txt"; # must have no password!
|
|
|
|
defaultSopsFile = ./secrets.yaml;
|
|
|
|
secrets = {
|
|
bw_client_id = {
|
|
path = "${config.sops.defaultSymlinkPath}/bw_client_id";
|
|
};
|
|
bw_api_key = {
|
|
path = "${config.sops.defaultSymlinkPath}/bw_api_key";
|
|
};
|
|
ssh_key = {
|
|
path = "${config.sops.defaultSymlinkPath}/ssh_key";
|
|
};
|
|
borg_url = {
|
|
path = "${config.sops.defaultSymlinkPath}/borg_url";
|
|
};
|
|
};
|
|
};
|
|
|
|
|
|
programs = {
|
|
home-manager.enable = true;
|
|
|
|
emacs = {
|
|
enable = true;
|
|
package = ((pkgs.emacsPackagesFor pkgs.emacs29-pgtk).emacsWithPackages (
|
|
epkgs: [
|
|
epkgs.vterm
|
|
epkgs.all-the-icons
|
|
epkgs.mu4e
|
|
epkgs.sly
|
|
epkgs.sly-quicklisp
|
|
epkgs.geiser-racket
|
|
epkgs.editorconfig
|
|
epkgs.shfmt
|
|
epkgs.nixpkgs-fmt
|
|
epkgs.nixfmt
|
|
epkgs.parinfer-rust-mode
|
|
epkgs.manualPackages.tree-sitter-langs
|
|
epkgs.manualPackages.treesit-grammars.with-all-grammars
|
|
epkgs.pretty-sha-path
|
|
epkgs.pdf-tools
|
|
]
|
|
));
|
|
};
|
|
|
|
pandoc.enable = true;
|
|
password-store.enable = true;
|
|
|
|
firefox.enable = true;
|
|
};
|
|
|
|
nixpkgs.config.packageOverrides = pkgs: {
|
|
renoise = pkgs.renoise.override {
|
|
releasePath = ../../assets/binary-installers/rns_344_linux_x86_64.tar.gz;
|
|
};
|
|
};
|
|
|
|
services = {
|
|
playerctld = {
|
|
enable = true;
|
|
package = pkgs.playerctl;
|
|
};
|
|
syncthing = {
|
|
enable = true;
|
|
# tray.enable = true;
|
|
};
|
|
borgmatic = {
|
|
enable = true;
|
|
};
|
|
gpg-agent = {
|
|
enable = true;
|
|
};
|
|
emacs = {
|
|
enable = true;
|
|
defaultEditor = true;
|
|
package = ((pkgs.emacsPackagesFor pkgs.emacs29-pgtk).emacsWithPackages (
|
|
epkgs: [
|
|
epkgs.vterm
|
|
epkgs.mu4e
|
|
epkgs.sly
|
|
epkgs.sly-quicklisp
|
|
epkgs.geiser-racket
|
|
epkgs.editorconfig
|
|
epkgs.shfmt
|
|
epkgs.nixpkgs-fmt
|
|
epkgs.nixfmt
|
|
epkgs.parinfer-rust-mode
|
|
epkgs.manualPackages.tree-sitter-langs
|
|
epkgs.manualPackages.treesit-grammars.with-all-grammars
|
|
epkgs.pretty-sha-path
|
|
epkgs.pdf-tools
|
|
]
|
|
));
|
|
socketActivation.enable = true;
|
|
client = {
|
|
enable = true;
|
|
arguments = ["-n" "-r"];
|
|
};
|
|
};
|
|
};
|
|
|
|
xdg.systemDirs.data = [
|
|
"/home/emenel/.local/share/applications/wine/Programs"
|
|
"/home/emenel/.local/share/applications"
|
|
"/var/lib/flatpak/exports/share"
|
|
"/home/emenel/.local/share/flatpak/exports/share"
|
|
"/home/emenel/.nix-profile/share/applications"
|
|
];
|
|
|
|
services.flatpak = {
|
|
enable = true;
|
|
packages = [
|
|
"com.github.tchx84.Flatseal"
|
|
"dev.qwery.AddWater"
|
|
];
|
|
};
|
|
|
|
systemd.user = {
|
|
enable = true;
|
|
startServices = "sd-switch"; # auto reload services when home is rebuilt
|
|
sessionVariables = {
|
|
GSK_RENDERER = "ngl";
|
|
MOZ_ENABLE_WAYLAND = 1;
|
|
};
|
|
};
|
|
|
|
# moving files!
|
|
xdg.configFile."halloy/config.toml".source = ./dotfiles/dot_config/halloy/config.toml;
|
|
xdg.configFile."waybar".source = ./dotfiles/dot_config/waybar;
|
|
|
|
home.file.".npmrc".source = ./dotfiles/dot_npmrc;
|
|
home.file.".vst3/yabridge/yabridge.toml".source = ./dotfiles/dot_vst3/yabridge.toml;
|
|
home.file.".sbclrc".source = ./dotfiles/dot_sbclrc;
|
|
home.file.".signature".source = ./dotfiles/dot_signature;
|
|
|
|
xdg.configFile."emacs".enable = false;
|
|
|
|
home.file.".local/bin" = {
|
|
source = ./dotfiles/dot_local/bin;
|
|
recursive = true;
|
|
};
|
|
|
|
|
|
home.file.".local/share/The Usual Suspects/Vavra" = {
|
|
recursive = true;
|
|
source = ../../packages/the-usual-suspects/vavra;
|
|
};
|
|
home.file.".local/share/The Usual Suspects/Xenia" = {
|
|
recursive = true;
|
|
source = ../../packages/the-usual-suspects/xenia;
|
|
};
|
|
home.file.".local/share/The Usual Suspects/Osirus" = {
|
|
recursive = true;
|
|
source = ../../packages/the-usual-suspects/osirus;
|
|
};
|
|
home.file.".local/share/The Usual Suspects/OsTIrus" = {
|
|
recursive = true;
|
|
source = ../../packages/the-usual-suspects/ostirus;
|
|
};
|
|
home.file.".local/share/The Usual Suspects/NodalRed2x" = {
|
|
recursive = true;
|
|
source = ../../packages/the-usual-suspects/nodal-red;
|
|
};
|
|
}
|