644 lines
15 KiB
Nix
644 lines
15 KiB
Nix
{ nix-flatpak, lib, pkgs, inputs, pkgs-unstable, ... }:
|
|
{
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
nixpkgs.overlays = [ inputs.audio.overlays.default ];
|
|
|
|
home = {
|
|
packages = with pkgs; [
|
|
just
|
|
yt-dlp
|
|
erdtree
|
|
age
|
|
figlet
|
|
ffmpeg-full
|
|
rlwrap
|
|
pinentry
|
|
gcr
|
|
gnutar
|
|
unzip
|
|
zip
|
|
stdenv
|
|
tldr
|
|
delta
|
|
htop
|
|
dconf
|
|
dconf2nix
|
|
readline
|
|
gnupg
|
|
gcc
|
|
gnutls
|
|
gettext
|
|
xorg.libX11
|
|
xorg.libxcb
|
|
freetype.dev
|
|
gnumake
|
|
flex
|
|
bison
|
|
mesa
|
|
neofetch
|
|
xwayland
|
|
nitch
|
|
ripgrep-all
|
|
silver-searcher
|
|
xclip
|
|
maestral
|
|
maestral-gui
|
|
nix-index
|
|
fstl
|
|
godot_4
|
|
sane-airscan
|
|
xsane
|
|
dbus
|
|
gst_all_1.gstreamer
|
|
alsa-oss
|
|
powertop
|
|
usbutils
|
|
pciutils
|
|
util-linux
|
|
coreutils
|
|
binutils
|
|
libgcc
|
|
cmake
|
|
libuv.dev
|
|
SDL2.dev
|
|
protonplus
|
|
ispell
|
|
aspell
|
|
aspellDicts.en
|
|
aspellDicts.en-computers
|
|
texlive.combined.scheme-full
|
|
appimage-run
|
|
libappimage
|
|
transmission_4-gtk
|
|
lsof
|
|
ruby
|
|
janet
|
|
jpm
|
|
guile
|
|
python311
|
|
python311Packages.pip
|
|
python311Packages.mido
|
|
python311Packages.simpleeval
|
|
python311Packages.parsedatetime
|
|
python311Packages.pytz
|
|
python311Packages.pint
|
|
python311Packages.babel
|
|
python311Packages.requests
|
|
ruff
|
|
sbcl
|
|
ccl
|
|
racket
|
|
gdu
|
|
|
|
editorconfig-core-c
|
|
clang-tools
|
|
cljfmt
|
|
libxml2
|
|
gdtoolkit_4
|
|
zulu
|
|
openssl.out
|
|
nixfmt-rfc-style
|
|
wl-clipboard
|
|
maim
|
|
php
|
|
rustup
|
|
shfmt
|
|
shellcheck
|
|
html-tidy
|
|
tree-sitter
|
|
libsecret
|
|
|
|
waylandpp.dev
|
|
wayland-utils
|
|
libffi.dev
|
|
nodejs_18
|
|
platformio-core
|
|
icloudpd
|
|
libheif.out
|
|
openal
|
|
pkg-config
|
|
ftgl
|
|
gperf
|
|
numbat
|
|
libGLU
|
|
glpng
|
|
libGL
|
|
nurl
|
|
freecad
|
|
|
|
rpi-imager
|
|
caligula
|
|
|
|
prusa-slicer
|
|
|
|
# node packages
|
|
nodePackages.typescript-language-server
|
|
nodePackages.vscode-langservers-extracted
|
|
nodePackages.prettier
|
|
nodePackages.javascript-typescript-langserver
|
|
nodePackages.stylelint
|
|
nodePackages.svelte-language-server
|
|
nodePackages.typescript
|
|
nodePackages.js-beautify
|
|
|
|
nixd
|
|
nixdoc
|
|
nix-init
|
|
|
|
fishPlugins.foreign-env
|
|
fishPlugins.z
|
|
fishPlugins.fzf-fish
|
|
fishPlugins.bass
|
|
fishPlugins.autopair
|
|
fishPlugins.forgit
|
|
fishPlugins.colored-man-pages
|
|
|
|
via
|
|
vial
|
|
bitwarden-cli
|
|
bitwarden-desktop
|
|
tailscale
|
|
font-manager
|
|
|
|
gpu-viewer
|
|
mesa-demos
|
|
|
|
gnomeExtensions.clipboard-indicator
|
|
gnomeExtensions.just-perfection
|
|
gnomeExtensions.dash-to-dock
|
|
gnomeExtensions.solaar-extension
|
|
gnomeExtensions.paperwm
|
|
gnomeExtensions.media-controls
|
|
gnomeExtensions.looking-glass-button
|
|
gnomeExtensions.auto-power-profile
|
|
gnome-software
|
|
gnome-tweaks
|
|
gnome-photos
|
|
xdg-desktop-portal-gnome
|
|
xdg-desktop-portal-gtk
|
|
soundconverter
|
|
gtop
|
|
wmctrl
|
|
sushi
|
|
colloid-gtk-theme
|
|
colloid-icon-theme
|
|
whitesur-gtk-theme
|
|
whitesur-cursors
|
|
whitesur-icon-theme
|
|
bibata-cursors
|
|
piper
|
|
libratbag
|
|
|
|
icloudpd
|
|
squirreldisk
|
|
papers
|
|
newsflash
|
|
planify
|
|
borgbackup
|
|
stirling-pdf
|
|
trash-cli
|
|
|
|
# (wineWowPackages.stagingFull.override {
|
|
# waylandSupport = true;
|
|
# fontconfigSupport = true;
|
|
# vulkanSupport = true;
|
|
# })
|
|
# wineWowPackages.fonts
|
|
# winetricks
|
|
|
|
bottles
|
|
|
|
(pkgs-unstable.yabridge.override {
|
|
wine = (wineWowPackages.stagingFull.override {
|
|
waylandSupport = true;
|
|
fontconfigSupport = true;
|
|
vulkanSupport = true;
|
|
});
|
|
})
|
|
(pkgs-unstable.yabridgectl.override {
|
|
wine = (wineWowPackages.stagingFull.override {
|
|
waylandSupport = true;
|
|
fontconfigSupport = true;
|
|
vulkanSupport = true;
|
|
});
|
|
})
|
|
|
|
spice
|
|
spice-gtk
|
|
spice-protocol
|
|
virt-viewer
|
|
virt-manager
|
|
solaar
|
|
logitech-udev-rules
|
|
|
|
opensnitch
|
|
opensnitch-ui
|
|
thunderbird-latest
|
|
emojify
|
|
smile
|
|
gnomeExtensions.smile-complementary-extension
|
|
impression
|
|
zoom-us
|
|
nyxt
|
|
ungoogled-chromium
|
|
obsidian
|
|
vlc
|
|
polychromatic
|
|
discord
|
|
slack
|
|
signal-desktop
|
|
calcurse
|
|
onlyoffice-desktopeditors
|
|
libreoffice
|
|
hyphenDicts.en_US
|
|
plexamp
|
|
amberol
|
|
carla
|
|
wireplumber
|
|
audacity
|
|
supercollider-with-plugins
|
|
# bitwig-studio
|
|
bitwig-studio5-latest
|
|
blender
|
|
davinci-resolve-studio
|
|
steam
|
|
zotero_7
|
|
handbrake
|
|
renoise
|
|
krita
|
|
rawtherapee
|
|
inkscape
|
|
gimp
|
|
epson-escpr
|
|
kicad
|
|
openscad-unstable
|
|
openscad-lsp
|
|
picard
|
|
evolutionWithPlugins
|
|
mpv
|
|
plugdata
|
|
pavucontrol
|
|
qpwgraph
|
|
coppwr
|
|
alsa-utils
|
|
alsa-tools
|
|
clapper
|
|
ardour
|
|
parinfer-rust-emacs
|
|
dockfmt
|
|
clap
|
|
batik
|
|
|
|
# Audio plugins (LV2, VST2, VST3, LADSPA)
|
|
eq10q
|
|
geonkick
|
|
bespokesynth
|
|
helm
|
|
surge
|
|
odin2
|
|
calf
|
|
chow-kick
|
|
chow-phaser
|
|
chow-centaur
|
|
chow-tape-model
|
|
easyeffects
|
|
vcv-rack
|
|
cardinal
|
|
roomeqwizard
|
|
guitarix
|
|
paulxstretch
|
|
vital
|
|
(callPackage ../packages/tal/bassline.nix {})
|
|
(callPackage ../packages/tal/j8.nix {})
|
|
(callPackage ../packages/tal/u-no-lx.nix {})
|
|
(callPackage ../packages/amplocker/package.nix {})
|
|
(callPackage ../packages/chair-audio/snare.nix {})
|
|
(callPackage ../packages/chair-audio/cymb.nix {})
|
|
(callPackage ../packages/the-usual-suspects/vavra/vavra.nix {})
|
|
(callPackage ../packages/the-usual-suspects/nodal-red/nodal-red.nix {})
|
|
(callPackage ../packages/the-usual-suspects/xenia/xenia.nix {})
|
|
(callPackage ../packages/the-usual-suspects/ostirus/ostirus.nix {})
|
|
(callPackage ../packages/the-usual-suspects/osirus/osirus.nix {})
|
|
|
|
# Fonts
|
|
fira-code
|
|
fira
|
|
cooper-hewitt
|
|
ibm-plex
|
|
jetbrains-mono
|
|
iosevka
|
|
spleen
|
|
fira-code-symbols
|
|
powerline-fonts
|
|
nerdfonts
|
|
noto-fonts-color-emoji
|
|
noto-fonts
|
|
noto-fonts-cjk-sans
|
|
noto-fonts-emoji
|
|
];
|
|
|
|
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 = "***REMOVED***";
|
|
BW_CLIENTSECRET = "***REMOVED***";
|
|
NIXOS_OZONE_WL = "1";
|
|
};
|
|
|
|
stateVersion = "24.05";
|
|
};
|
|
|
|
fonts.fontconfig = {
|
|
enable = true;
|
|
};
|
|
|
|
programs = {
|
|
home-manager.enable = true;
|
|
direnv = {
|
|
enable = true;
|
|
nix-direnv.enable = true;
|
|
};
|
|
fish = {
|
|
enable = true;
|
|
shellAliases = {
|
|
"ls" = "eza";
|
|
".j" = "just -g";
|
|
"em" = "emacsclient -n -r";
|
|
};
|
|
plugins = [
|
|
{
|
|
name = "upto";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "Markcial";
|
|
repo = "upto";
|
|
rev = "2d1f35453fb55747d50da8c1cb1809840f99a646";
|
|
sha256 = "sha256-Lv2XtP2x9dkIkUUjMBWVpAs/l55Ztu7gIjKYH6ZzK4s=";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
starship = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
};
|
|
mu.enable = true;
|
|
mbsync.enable = true;
|
|
msmtp.enable = true;
|
|
emacs = {
|
|
enable = true;
|
|
package = (pkgs.emacs.override {
|
|
withXwidgets = true;
|
|
withGTK3 = true;
|
|
withNativeCompilation = true;
|
|
withTreeSitter = true;
|
|
withImageMagick = true;
|
|
});
|
|
extraPackages = epkgs: [
|
|
epkgs.mu4e
|
|
epkgs.vterm
|
|
epkgs.sly
|
|
epkgs.sly-quicklisp
|
|
epkgs.geiser-racket
|
|
epkgs.editorconfig
|
|
epkgs.shfmt
|
|
epkgs.nixpkgs-fmt
|
|
epkgs.nixfmt
|
|
epkgs.parinfer-rust-mode
|
|
epkgs.tree-sitter-langs
|
|
];
|
|
};
|
|
ripgrep = {
|
|
enable = true;
|
|
};
|
|
thefuck = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
};
|
|
wezterm = {
|
|
enable = true;
|
|
};
|
|
bat = {
|
|
enable = true;
|
|
};
|
|
borgmatic = {
|
|
enable = true;
|
|
backups = {
|
|
eddie = {
|
|
location = {
|
|
patterns = [
|
|
"R /home/emenel"
|
|
"- home/emenel/.cache"
|
|
"- home/emenel/.nix*"
|
|
"- home/emenel/.steam*"
|
|
"- home/emenel/Dropbox"
|
|
"- home/emenel/Sync"
|
|
"- home/emenel/.dropbox*"
|
|
"- home/emenel/.BitwigStudio"
|
|
];
|
|
repositories = [
|
|
{
|
|
"path" = "ssh://oyi3ydnz@oyi3ydnz.repo.borgbase.com/./repo";
|
|
"label" = "eddie on borgbase";
|
|
}
|
|
];
|
|
};
|
|
retention = {
|
|
keepDaily = 3;
|
|
keepHourly = 3;
|
|
keepMonthly = 2;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
eza = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
};
|
|
fd = {
|
|
enable = true;
|
|
};
|
|
fzf = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
};
|
|
broot = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
};
|
|
git = {
|
|
enable = true;
|
|
lfs.enable = true;
|
|
};
|
|
htop.enable = true;
|
|
nnn = {
|
|
enable = true;
|
|
};
|
|
pandoc.enable = true;
|
|
password-store.enable = true;
|
|
#waybar.enable = true;
|
|
lazygit.enable = true;
|
|
jq.enable = true;
|
|
firefox.enable = true;
|
|
# thunderbird = {
|
|
# enable = true;
|
|
# package = pkgs.thunderbird-latest;
|
|
# };
|
|
rbw.enable = true;
|
|
};
|
|
|
|
dconf.settings = {
|
|
"org/gnome/desktop/background" = {
|
|
picture-options = "none";
|
|
primary-color = "#222222";
|
|
};
|
|
|
|
"org/gnome/shell/keybindings" = {
|
|
shift-overview-up = ["disabled"];
|
|
shift-overview-down = ["disabled"];
|
|
switch-to-application-1 = ["disabled"];
|
|
switch-to-application-2 = ["disabled"];
|
|
switch-to-application-3 = ["disabled"];
|
|
switch-to-application-4 = ["disabled"];
|
|
switch-to-application-5 = ["disabled"];
|
|
switch-to-application-6 = ["disabled"];
|
|
switch-to-application-7 = ["disabled"];
|
|
switch-to-application-8 = ["disabled"];
|
|
switch-to-application-9 = ["disabled"];
|
|
switch-to-application-10 = ["disabled"];
|
|
};
|
|
|
|
"org/gnome/desktop/wm/keybindings" = {
|
|
switch-to-workspace-up = ["disabled"];
|
|
switch-to-workspace-down = ["disabled"];
|
|
move-to-workspace-up = ["disabled"];
|
|
move-to-workspace-down = ["disabled"];
|
|
};
|
|
};
|
|
|
|
nixpkgs.config.packageOverrides = pkgs: {
|
|
renoise = pkgs.renoise.override {
|
|
releasePath = ../binary-installers/rns_344_linux_x86_64.tar.gz;
|
|
};
|
|
};
|
|
|
|
services = {
|
|
flatpak.enable = true;
|
|
syncthing = {
|
|
enable = true;
|
|
# tray.enable = true;
|
|
};
|
|
borgmatic = {
|
|
enable = true;
|
|
};
|
|
gpg-agent = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
};
|
|
emacs = {
|
|
enable = true;
|
|
defaultEditor = true;
|
|
package = pkgs.emacs;
|
|
socketActivation.enable = true;
|
|
client = {
|
|
enable = true;
|
|
arguments = ["-n" "-r"];
|
|
};
|
|
};
|
|
opensnitch-ui.enable = true;
|
|
};
|
|
|
|
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.packages = [
|
|
"com.github.tchx84.Flatseal"
|
|
"com.heroicgameslauncher.hgl"
|
|
"nl.hjdskes.gcolor3"
|
|
"org.linuxshowplayer.LinuxShowPlayer"
|
|
];
|
|
|
|
systemd.user = {
|
|
enable = true;
|
|
startServices = "sd-switch";
|
|
sessionVariables = {
|
|
GSK_RENDERER = "gl";
|
|
MOZ_ENABLE_WAYLAND = 1;
|
|
};
|
|
};
|
|
|
|
|
|
# moving files!
|
|
home.file.".npmrc".source = ../dotfiles/dot_npmrc;
|
|
# xdg.configFile."kmonad".source = ../dotfiles/dot_config/kmonad;
|
|
xdg.configFile."just/justfile".source = ../dotfiles/dot_config/just/justfile;
|
|
xdg.configFile."starship.toml".source = ../dotfiles/dot_config/starship.toml;
|
|
xdg.configFile."wezterm".source = ../dotfiles/dot_config/wezterm;
|
|
xdg.configFile."git".source = ../dotfiles/dot_config/git;
|
|
xdg.configFile."rbw".source = ../dotfiles/dot_config/rbw;
|
|
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;
|
|
home.file.".config/fish/functions" = {
|
|
source = ../dotfiles/dot_config/fish/functions;
|
|
recursive = true;
|
|
};
|
|
home.file.".config/fish/completions" = {
|
|
source = ../dotfiles/dot_config/fish/completions;
|
|
recursive = true;
|
|
};
|
|
|
|
xdg.configFile."emacs".enable = false;
|
|
|
|
home.file.".msmtprc".source = ../dotfiles/dot_msmtprc;
|
|
home.file.".mbsyncrc".source = ../dotfiles/dot_mbsyncrc;
|
|
xdg.configFile."isyncrc".enable = false;
|
|
|
|
home.file.".local/bin" = {
|
|
source = ../dotfiles/dot_local/bin;
|
|
recursive = true;
|
|
};
|
|
home.file.".local/share/flf".source = ../dotfiles/dot_local/share/flf;
|
|
|
|
home.file.".local/share/The Usual Suspects/Vavra/roms" = {
|
|
recursive = true;
|
|
source = ../packages/the-usual-suspects/vavra/roms;
|
|
};
|
|
home.file.".local/share/The Usual Suspects/Vavra/patches" = {
|
|
recursive = true;
|
|
source = ../packages/the-usual-suspects/vavra/patches;
|
|
};
|
|
home.file.".local/share/The Usual Suspects/Xenia/roms" = {
|
|
recursive = true;
|
|
source = ../packages/the-usual-suspects/xenia/roms;
|
|
};
|
|
|
|
home.file.".local/share/The Usual Suspects/Xenia/patches" = {
|
|
recursive = true;
|
|
source = ../packages/the-usual-suspects/xenia/patches;
|
|
};
|
|
home.file.".local/share/The Usual Suspects/Osirus/roms" = {
|
|
recursive = true;
|
|
source = ../packages/the-usual-suspects/osirus/roms;
|
|
};
|
|
home.file.".local/share/The Usual Suspects/OsTIrus/roms" = {
|
|
recursive = true;
|
|
source = ../packages/the-usual-suspects/ostirus/roms;
|
|
};
|
|
home.file.".local/share/The Usual Suspects/NodalRed2x/roms" = {
|
|
recursive = true;
|
|
source = ../packages/the-usual-suspects/nodal-red/roms;
|
|
};
|
|
}
|