487 lines
11 KiB
Nix
487 lines
11 KiB
Nix
{ nix-flatpak, lib, pkgs, inputs, pkgs-stable, ... }:
|
|
{
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
home = {
|
|
packages = with pkgs; [
|
|
just
|
|
yt-dlp
|
|
erdtree
|
|
age
|
|
figlet
|
|
ffmpeg-full
|
|
rlwrap
|
|
pinentry
|
|
gcr
|
|
gnutar
|
|
unzip
|
|
zip
|
|
htop
|
|
dconf
|
|
dconf2nix
|
|
gnupg
|
|
gcc
|
|
gnutls
|
|
gettext
|
|
xorg.libX11
|
|
freetype.dev
|
|
gnumake
|
|
flex
|
|
bison
|
|
mesa
|
|
neofetch
|
|
nitch
|
|
ripgrep-all
|
|
silver-searcher
|
|
xclip
|
|
maestral
|
|
maestral-gui
|
|
nix-index
|
|
|
|
sane-airscan
|
|
xsane
|
|
dbus
|
|
gst_all_1.gstreamer
|
|
alsa-oss
|
|
fontconfig
|
|
powertop
|
|
usbutils
|
|
pciutils
|
|
util-linux
|
|
coreutils
|
|
binutils
|
|
libgcc
|
|
cmake
|
|
raylib
|
|
raygui
|
|
SDL2.dev
|
|
protonplus
|
|
ispell
|
|
aspell
|
|
aspellDicts.en
|
|
aspellDicts.en-computers
|
|
texlive.combined.scheme-full
|
|
appimage-run
|
|
transmission_4-gtk
|
|
lsof
|
|
ruby
|
|
janet
|
|
jpm
|
|
python311
|
|
python311Packages.pip
|
|
python311Packages.mido
|
|
python311Packages.simpleeval
|
|
python311Packages.parsedatetime
|
|
python311Packages.pytz
|
|
python311Packages.pint
|
|
python311Packages.babel
|
|
python311Packages.requests
|
|
ruff
|
|
sbcl
|
|
sbclPackages.cffi
|
|
# sbclPackages.claw
|
|
# sbclPackages.claw-utils
|
|
sbclPackages.cffi-object
|
|
sbclPackages.cffi-object_dot_ops
|
|
# sbclPackages.cl-opengl
|
|
ccl
|
|
waylandpp.dev
|
|
wayland-utils
|
|
libffi.dev
|
|
nodejs_18
|
|
platformio-core
|
|
kanata-with-cmd
|
|
icloudpd
|
|
libheif
|
|
libheif.out
|
|
openal
|
|
pkg-config
|
|
ftgl
|
|
gperf
|
|
numbat
|
|
libGLU
|
|
glpng
|
|
libGL
|
|
|
|
# node packages
|
|
nodePackages.typescript-language-server
|
|
nodePackages.vscode-langservers-extracted
|
|
nodePackages.prettier
|
|
nodePackages.javascript-typescript-langserver
|
|
nodePackages.stylelint
|
|
nodePackages.svelte-language-server
|
|
nodePackages.typescript
|
|
|
|
nixd
|
|
|
|
# bottles-unwrapped
|
|
|
|
fishPlugins.foreign-env
|
|
fishPlugins.z
|
|
fishPlugins.fzf
|
|
fishPlugins.bass
|
|
fishPlugins.autopair
|
|
|
|
via
|
|
bitwarden-cli
|
|
bitwarden-desktop
|
|
rbw
|
|
goldwarden
|
|
tailscale
|
|
font-manager
|
|
ulauncher
|
|
clipman
|
|
gnomeExtensions.just-perfection
|
|
gnomeExtensions.dash-to-dock
|
|
gnomeExtensions.solaar-extension
|
|
gnomeExtensions.paperwm
|
|
gnomeExtensions.another-window-session-manager
|
|
gnomeExtensions.media-controls
|
|
gnomeExtensions.looking-glass-button
|
|
gnome-software
|
|
gnome-tweaks
|
|
gnome-photos
|
|
soundconverter
|
|
gtop
|
|
sushi
|
|
colloid-gtk-theme
|
|
colloid-icon-theme
|
|
whitesur-gtk-theme
|
|
whitesur-cursors
|
|
whitesur-icon-theme
|
|
bibata-cursors
|
|
|
|
icloudpd
|
|
squirreldisk
|
|
papers
|
|
newsflash
|
|
planify
|
|
# fuzzel
|
|
borgbackup
|
|
|
|
wineWowPackages.stagingFull
|
|
wineWowPackages.fonts
|
|
winetricks
|
|
|
|
spice
|
|
spice-gtk
|
|
spice-protocol
|
|
virt-viewer
|
|
virt-manager
|
|
solaar
|
|
logitech-udev-rules
|
|
|
|
#syncthingtray
|
|
impression
|
|
zoom-us
|
|
nyxt
|
|
ungoogled-chromium
|
|
obsidian
|
|
vlc
|
|
polychromatic
|
|
discord
|
|
slack
|
|
signal-desktop
|
|
libreoffice
|
|
plexamp
|
|
carla
|
|
wireplumber
|
|
audacity
|
|
supercollider-with-plugins
|
|
bitwig-studio
|
|
blender
|
|
davinci-resolve-studio
|
|
steam
|
|
zotero_7
|
|
handbrake
|
|
renoise
|
|
yabridge
|
|
yabridgectl
|
|
ansel
|
|
krita
|
|
rawtherapee
|
|
inkscape
|
|
gimp
|
|
epson-escpr
|
|
pkgs-stable.kicad #install stable kicad because unstable breaks on python12 dependency
|
|
openscad-unstable
|
|
openscad-lsp
|
|
picard
|
|
evolutionWithPlugins
|
|
mpv
|
|
plugdata
|
|
pavucontrol
|
|
qpwgraph
|
|
coppwr
|
|
alsa-utils
|
|
alsa-tools
|
|
clapper
|
|
amberol
|
|
ardour
|
|
parinfer-rust-emacs
|
|
|
|
# Audio plugins (LV2, VST2, VST3, LADSPA)
|
|
eq10q
|
|
lsp-plugins
|
|
geonkick
|
|
bespokesynth
|
|
pkgs-stable.helm
|
|
surge
|
|
odin2
|
|
calf
|
|
chow-kick
|
|
chow-phaser
|
|
chow-centaur
|
|
chow-tape-model
|
|
easyeffects
|
|
vcv-rack
|
|
cardinal
|
|
|
|
# Fonts
|
|
fira-code
|
|
fira
|
|
cooper-hewitt
|
|
ibm-plex
|
|
jetbrains-mono
|
|
iosevka
|
|
# bitmap
|
|
spleen
|
|
fira-code-symbols
|
|
powerline-fonts
|
|
nerdfonts
|
|
];
|
|
|
|
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" ];
|
|
|
|
sessionVariables = {
|
|
EDITOR = "emacsclient -r";
|
|
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***";
|
|
};
|
|
|
|
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";
|
|
};
|
|
};
|
|
starship = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
};
|
|
mu.enable = true;
|
|
mbsync.enable = true;
|
|
msmtp.enable = true;
|
|
emacs = {
|
|
enable = true;
|
|
package = pkgs.emacs;
|
|
extraPackages = epkgs: [
|
|
epkgs.mu4e
|
|
epkgs.vterm
|
|
epkgs.sly
|
|
epkgs.sly-quicklisp
|
|
];
|
|
};
|
|
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";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
eza = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
};
|
|
fd = {
|
|
enable = true;
|
|
};
|
|
fzf = {
|
|
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;
|
|
};
|
|
|
|
home.sessionVariables.NIXOS_OZONE_WL = "1";
|
|
|
|
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;
|
|
};
|
|
raylib = pkgs.raylib.overrideDerivation (previous: {
|
|
name = "raylib-head";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "raysan5";
|
|
repo = "raylib";
|
|
hash = "sha256-PHYdAEhittShd1UhASdhmq0nGHEEVZEUGcjCUUJZl9g=";
|
|
rev = "c9c830cb971d7aa744fe3c7444b768ccd5176c4c";
|
|
};
|
|
patches = [""];
|
|
});
|
|
};
|
|
|
|
services = {
|
|
flatpak.enable = true;
|
|
syncthing = {
|
|
enable = true;
|
|
#tray.enable = true;
|
|
};
|
|
borgmatic = {
|
|
enable = true;
|
|
};
|
|
gpg-agent = {
|
|
enable = true;
|
|
enableFishIntegration = 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.github.johnfactotum.QuickLookup"
|
|
"com.heroicgameslauncher.hgl"
|
|
"io.github.dyegoaurelio.simple-wireplumber-gui"
|
|
"io.github.dgsasha.Remembrance"
|
|
"nl.hjdskes.gcolor3"
|
|
];
|
|
|
|
systemd.user.enable = true;
|
|
systemd.user.services.ulauncher = {
|
|
Unit = {
|
|
Description = "Start Ulauncher";
|
|
};
|
|
|
|
Install = {
|
|
WantedBy = [ "graphical.target" "multi-user.target" ];
|
|
After = ["display-manager.service"];
|
|
};
|
|
|
|
Service = {
|
|
ExecStart = ''${pkgs.ulauncher}/bin/ulauncher --hide-window'';
|
|
};
|
|
};
|
|
|
|
|
|
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;
|
|
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;
|
|
|
|
home.file.".local/share/flf".source = ../dotfiles/dot_local/share/flf;
|
|
}
|