nixos-config/home/home.nix

560 lines
12 KiB
Nix
Raw Normal View History

{ nix-flatpak, lib, pkgs, inputs, pkgs-stable, ... }:
2024-09-22 01:04:11 -04:00
{
2024-09-30 00:55:41 -04:00
nixpkgs.config.allowUnfree = true;
2024-09-22 01:04:11 -04:00
home = {
packages = with pkgs; [
just
2024-09-24 16:11:23 -04:00
yt-dlp
erdtree
2024-09-24 18:02:23 -04:00
age
2024-09-24 23:26:29 -04:00
figlet
2024-10-13 11:35:30 -04:00
ffmpeg-full
2024-09-27 14:22:31 -04:00
rlwrap
2024-09-28 20:28:06 -04:00
pinentry
2024-10-02 00:25:06 -04:00
gcr
2024-09-30 00:55:41 -04:00
gnutar
2024-09-28 20:28:06 -04:00
unzip
zip
2024-11-06 14:33:49 -05:00
stdenv
2024-11-14 19:04:32 -05:00
tldr
2024-09-28 20:28:06 -04:00
htop
2024-09-29 00:25:45 -04:00
dconf
dconf2nix
2024-11-09 14:14:31 -05:00
readline
2024-09-30 22:57:34 -04:00
gnupg
2024-09-29 23:39:04 -04:00
gcc
gnutls
gettext
xorg.libX11
2024-11-09 14:14:31 -05:00
xorg.libxcb
2024-09-29 23:39:04 -04:00
freetype.dev
2024-09-29 22:18:30 -04:00
gnumake
2024-09-29 23:39:04 -04:00
flex
bison
mesa
2024-10-04 10:35:41 -04:00
neofetch
2024-11-09 14:14:31 -05:00
xwayland
2024-10-04 10:35:41 -04:00
nitch
ripgrep-all
silver-searcher
xclip
2024-09-30 13:21:15 -04:00
maestral
2024-10-22 13:12:01 -04:00
maestral-gui
2024-10-28 11:20:08 -04:00
nix-index
godot_4
2024-09-29 23:39:04 -04:00
sane-airscan
xsane
dbus
gst_all_1.gstreamer
alsa-oss
2024-10-01 16:57:09 -04:00
powertop
2024-09-25 23:50:11 -04:00
usbutils
2024-09-24 16:11:23 -04:00
pciutils
util-linux
coreutils
2024-10-04 10:35:41 -04:00
binutils
2024-09-24 16:11:23 -04:00
libgcc
2024-10-22 13:12:01 -04:00
cmake
2024-09-24 16:11:23 -04:00
raylib
2024-10-28 11:20:08 -04:00
raygui
2024-11-22 16:26:46 -05:00
libuv.dev
2024-09-29 23:39:04 -04:00
SDL2.dev
2024-09-24 23:26:29 -04:00
protonplus
2024-10-04 10:35:41 -04:00
ispell
aspell
aspellDicts.en
aspellDicts.en-computers
texlive.combined.scheme-full
2024-11-15 13:32:58 -05:00
appimage-run
libappimage
2024-10-14 12:21:14 -04:00
transmission_4-gtk
2024-10-05 12:36:08 -04:00
lsof
2024-09-24 16:11:23 -04:00
ruby
janet
jpm
2024-10-20 13:25:53 -04:00
python311
python311Packages.pip
2024-10-20 22:41:51 -04:00
python311Packages.mido
python311Packages.simpleeval
python311Packages.parsedatetime
python311Packages.pytz
python311Packages.pint
python311Packages.babel
python311Packages.requests
ruff
renderdoc
2024-09-24 16:11:23 -04:00
sbcl
2024-10-16 14:22:52 -04:00
sbclPackages.cffi
2024-10-28 11:20:08 -04:00
sbclPackages.cffi-object
sbclPackages.cffi-object_dot_ops
ccl
racket
2024-11-22 16:26:46 -05:00
editorconfig-core-c
clang-tools
cljfmt
libxml2
gdtoolkit_4
zulu
2024-11-22 16:26:46 -05:00
openssl.out
nixfmt-rfc-style
wl-clipboard
maim
php
rustup
shfmt
shellcheck
html-tidy
2024-11-01 18:18:56 -04:00
libsecret
2024-10-28 11:20:08 -04:00
waylandpp.dev
wayland-utils
2024-10-16 14:22:52 -04:00
libffi.dev
2024-09-24 16:11:23 -04:00
nodejs_18
platformio-core
2024-09-29 01:13:48 -04:00
icloudpd
2024-09-30 22:18:50 -04:00
libheif
libheif.out
2024-10-14 12:21:14 -04:00
openal
2024-10-14 14:56:13 -04:00
pkg-config
ftgl
gperf
2024-10-16 14:22:52 -04:00
numbat
2024-10-28 11:20:08 -04:00
libGLU
glpng
libGL
2024-11-11 11:29:25 -05:00
nurl
2024-11-09 15:33:18 -05:00
freecad
2024-11-09 14:14:31 -05:00
2024-11-22 16:26:46 -05:00
rpi-imager
caligula
2024-11-09 14:14:31 -05:00
prusa-slicer
2024-09-27 14:28:04 -04:00
2024-10-04 10:35:41 -04:00
# 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
2024-10-04 10:35:41 -04:00
2024-09-30 20:46:21 -04:00
nixd
2024-11-09 14:14:31 -05:00
nixdoc
2024-11-11 11:29:25 -05:00
nix-init
2024-09-30 20:46:21 -04:00
2024-09-27 14:17:11 -04:00
fishPlugins.foreign-env
fishPlugins.z
fishPlugins.fzf
fishPlugins.bass
fishPlugins.autopair
2024-09-25 23:50:11 -04:00
2024-09-27 08:50:52 -04:00
via
2024-11-14 19:04:32 -05:00
vial
2024-09-28 23:14:36 -04:00
bitwarden-cli
bitwarden-desktop
tailscale
2024-10-04 10:35:41 -04:00
font-manager
2024-10-20 22:41:51 -04:00
ulauncher
2024-11-15 13:32:58 -05:00
vice
gpu-viewer
mesa-demos
2024-11-05 13:56:10 -05:00
2024-11-14 19:04:32 -05:00
gnomeExtensions.clipboard-indicator
2024-09-24 16:11:23 -04:00
gnomeExtensions.just-perfection
2024-09-30 13:21:15 -04:00
gnomeExtensions.dash-to-dock
2024-09-30 20:46:21 -04:00
gnomeExtensions.solaar-extension
2024-10-14 22:09:34 -04:00
gnomeExtensions.paperwm
2024-10-16 14:22:52 -04:00
gnomeExtensions.media-controls
2024-10-18 09:11:27 -04:00
gnomeExtensions.looking-glass-button
2024-09-25 23:50:11 -04:00
gnome-software
gnome-tweaks
2024-09-29 01:13:48 -04:00
gnome-photos
2024-11-05 13:56:10 -05:00
xdg-desktop-portal-gnome
xdg-desktop-portal-gtk
soundconverter
2024-10-18 09:11:27 -04:00
gtop
2024-11-05 13:56:10 -05:00
wmctrl
2024-10-07 23:39:25 -04:00
sushi
2024-09-24 17:37:03 -04:00
colloid-gtk-theme
colloid-icon-theme
2024-09-28 23:19:48 -04:00
whitesur-gtk-theme
whitesur-cursors
whitesur-icon-theme
2024-10-14 22:09:34 -04:00
bibata-cursors
2024-11-22 16:26:46 -05:00
piper
libratbag
2024-10-02 12:55:41 -04:00
2024-10-07 23:39:25 -04:00
icloudpd
squirreldisk
2024-09-24 23:26:29 -04:00
papers
newsflash
2024-10-01 21:18:52 -04:00
planify
2024-10-20 22:41:51 -04:00
borgbackup
2024-10-22 13:12:01 -04:00
2024-09-29 22:18:30 -04:00
wineWowPackages.stagingFull
2024-09-29 13:45:20 -04:00
wineWowPackages.fonts
2024-09-29 02:39:39 -04:00
winetricks
2024-09-29 13:45:20 -04:00
spice
spice-gtk
spice-protocol
virt-viewer
2024-10-04 10:35:41 -04:00
virt-manager
2024-10-02 12:55:41 -04:00
solaar
logitech-udev-rules
2024-10-02 12:11:23 -04:00
impression
2024-09-30 22:18:50 -04:00
zoom-us
2024-09-29 01:13:48 -04:00
nyxt
2024-09-24 23:26:29 -04:00
ungoogled-chromium
2024-09-24 17:14:56 -04:00
obsidian
2024-09-24 16:11:23 -04:00
vlc
polychromatic
2024-09-23 23:35:58 -04:00
discord
slack
2024-09-24 16:11:23 -04:00
signal-desktop
libreoffice
plexamp
2024-09-29 13:45:20 -04:00
carla
2024-10-01 16:57:09 -04:00
wireplumber
2024-09-24 16:11:23 -04:00
audacity
supercollider-with-plugins
bitwig-studio
2024-11-04 11:13:56 -05:00
pkgs-stable.blender
2024-09-24 16:11:23 -04:00
davinci-resolve-studio
2024-09-24 16:58:14 -04:00
steam
zotero_7
2024-11-04 11:13:56 -05:00
pkgs-stable.handbrake
2024-09-28 18:41:21 -04:00
renoise
2024-09-29 01:13:48 -04:00
yabridge
yabridgectl
ansel
2024-10-22 13:12:01 -04:00
krita
2024-09-29 01:13:48 -04:00
rawtherapee
2024-09-29 15:42:52 -04:00
inkscape
gimp
2024-09-29 13:45:20 -04:00
epson-escpr
pkgs-stable.kicad #install stable kicad because unstable breaks on python12 dependency
2024-09-30 22:18:50 -04:00
openscad-unstable
openscad-lsp
2024-10-04 10:35:41 -04:00
picard
evolutionWithPlugins
mpv
2024-09-30 22:18:50 -04:00
plugdata
2024-10-01 16:57:09 -04:00
pavucontrol
qpwgraph
coppwr
2024-10-01 16:57:09 -04:00
alsa-utils
2024-10-05 12:36:08 -04:00
alsa-tools
2024-10-04 10:35:41 -04:00
clapper
2024-10-13 11:35:30 -04:00
ardour
2024-10-04 10:35:41 -04:00
parinfer-rust-emacs
dockfmt
2024-11-11 11:29:25 -05:00
clap
2024-10-14 14:36:05 -04:00
2024-09-29 15:42:52 -04:00
# Audio plugins (LV2, VST2, VST3, LADSPA)
eq10q
geonkick
2024-09-30 22:18:50 -04:00
bespokesynth
pkgs-stable.helm
2024-10-14 12:21:14 -04:00
surge
odin2
calf
2024-10-19 10:32:22 -04:00
chow-kick
chow-phaser
chow-centaur
chow-tape-model
2024-10-22 13:12:01 -04:00
easyeffects
vcv-rack
cardinal
2024-11-05 13:56:10 -05:00
roomeqwizard
2024-11-09 14:14:31 -05:00
guitarix
2024-11-11 11:29:25 -05:00
(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 {})
2024-10-22 13:12:01 -04:00
2024-10-04 10:35:41 -04:00
# Fonts
fira-code
fira
cooper-hewitt
ibm-plex
jetbrains-mono
iosevka
spleen
fira-code-symbols
powerline-fonts
nerdfonts
2024-09-22 01:04:11 -04:00
];
username = "emenel";
homeDirectory = "/home/emenel";
2024-10-07 23:39:25 -04:00
sessionPath = [ "/home/emenel/.config/emacs/bin" "/home/emenel/.npm-packages/bin" "/home/emenel/Applications" "/home/emenel/.local/bin" "/home/emenel/.local/share" ];
2024-09-27 14:57:18 -04:00
2024-09-29 13:45:20 -04:00
sessionVariables = {
2024-11-09 14:14:31 -05:00
# EDITOR = "emacsclient -tr";
2024-09-29 13:45:20 -04:00
WINEFSYNC = 1;
2024-10-16 14:22:52 -04:00
PKG_CONFIG_PATH = "/home/emenel/.nix-profile/lib/pkgconfig:/home/emenel/.nix-profile/lib64/pkgconfig:/home/emenal/.nix-profile/share/pkgconfig";
2024-10-18 09:11:27 -04:00
GI_TYPELIB_PATH = "/run/current-system/sw/lib/girepository-1.0";
2024-10-28 11:20:08 -04:00
BW_CLIENTID = "***REMOVED***";
BW_CLIENTSECRET = "***REMOVED***";
2024-09-29 13:45:20 -04:00
};
2024-09-23 23:35:58 -04:00
stateVersion = "24.05";
};
2024-09-27 14:57:18 -04:00
2024-10-04 10:35:41 -04:00
fonts.fontconfig.enable = true;
2024-09-23 23:35:58 -04:00
programs = {
home-manager.enable = true;
direnv = {
enable = true;
nix-direnv.enable = true;
};
2024-09-27 14:22:31 -04:00
fish = {
enable = true;
2024-09-29 01:54:40 -04:00
shellAliases = {
"ls" = "eza";
2024-10-07 23:39:25 -04:00
".j" = "just -g";
2024-11-09 14:14:31 -05:00
"em" = "emacsclient -n -r";
2024-09-29 01:54:40 -04:00
};
2024-09-27 14:22:31 -04:00
};
2024-09-24 16:11:23 -04:00
starship = {
enable = true;
enableFishIntegration = true;
};
2024-09-27 15:36:18 -04:00
mu.enable = true;
2024-09-27 16:03:19 -04:00
mbsync.enable = true;
2024-09-27 16:05:40 -04:00
msmtp.enable = true;
2024-09-28 23:14:36 -04:00
emacs = {
enable = true;
extraPackages = epkgs: [
epkgs.mu4e
2024-09-28 23:57:53 -04:00
epkgs.vterm
2024-10-22 13:12:01 -04:00
epkgs.sly
2024-10-16 14:22:52 -04:00
epkgs.sly-quicklisp
epkgs.geiser-racket
epkgs.editorconfig
epkgs.shfmt
epkgs.nixpkgs-fmt
epkgs.nixfmt
2024-11-05 13:56:10 -05:00
epkgs.parinfer-rust-mode
2024-09-28 23:14:36 -04:00
];
};
2024-10-01 21:18:52 -04:00
ripgrep = {
enable = true;
};
thefuck = {
enable = true;
enableFishIntegration = true;
};
wezterm = {
enable = true;
};
bat = {
enable = true;
};
2024-10-20 22:41:51 -04:00
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"
];
2024-10-20 22:41:51 -04:00
repositories = [
{
"path" = "ssh://oyi3ydnz@oyi3ydnz.repo.borgbase.com/./repo";
2024-10-20 22:41:51 -04:00
"label" = "eddie on borgbase";
}
];
};
2024-11-04 11:13:56 -05:00
retention = {
keepDaily = 3;
keepHourly = 3;
keepMonthly = 2;
};
2024-10-20 22:41:51 -04:00
};
};
};
2024-10-01 21:18:52 -04:00
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;
2024-10-02 18:35:14 -04:00
#waybar.enable = true;
2024-10-04 10:35:41 -04:00
lazygit.enable = true;
jq.enable = true;
2024-10-05 12:36:08 -04:00
firefox.enable = true;
2024-11-01 18:18:56 -04:00
rbw.enable = true;
2024-10-02 12:55:41 -04:00
};
2024-10-04 10:35:41 -04:00
home.sessionVariables.NIXOS_OZONE_WL = "1";
2024-09-28 12:19:48 -04:00
2024-09-28 23:57:53 -04:00
dconf.settings = {
2024-09-30 14:03:14 -04:00
"org/gnome/desktop/background" = {
picture-options = "none";
primary-color = "#222222";
};
2024-09-29 01:13:48 -04:00
"org/gnome/shell/keybindings" = {
shift-overview-up = ["disabled"];
shift-overview-down = ["disabled"];
2024-09-30 09:10:52 -04:00
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"];
2024-10-22 13:12:01 -04:00
};
"org/gnome/desktop/wm/keybindings" = {
2024-10-14 13:39:29 -04:00
switch-to-workspace-up = ["disabled"];
switch-to-workspace-down = ["disabled"];
move-to-workspace-up = ["disabled"];
move-to-workspace-down = ["disabled"];
2024-09-29 00:01:22 -04:00
};
2024-09-28 23:57:53 -04:00
};
2024-09-28 18:41:21 -04:00
nixpkgs.config.packageOverrides = pkgs: {
2024-10-18 09:11:27 -04:00
renoise = pkgs.renoise.override {
2024-10-20 13:25:53 -04:00
releasePath = ../binary-installers/rns_344_linux_x86_64.tar.gz;
2024-10-18 09:11:27 -04:00
};
2024-10-16 14:22:52 -04:00
raylib = pkgs.raylib.overrideDerivation (previous: {
name = "raylib-head";
src = pkgs.fetchFromGitHub {
owner = "raysan5";
repo = "raylib";
hash = "sha256-PHYdAEhittShd1UhASdhmq0nGHEEVZEUGcjCUUJZl9g=";
rev = "c9c830cb971d7aa744fe3c7444b768ccd5176c4c";
};
patches = [""];
});
2024-09-28 18:41:21 -04:00
};
2024-09-23 09:46:14 -04:00
2024-09-24 23:26:29 -04:00
services = {
flatpak.enable = true;
2024-10-04 10:35:41 -04:00
syncthing = {
enable = true;
2024-11-09 14:14:31 -05:00
tray.enable = true;
2024-10-04 10:35:41 -04:00
};
2024-10-20 22:41:51 -04:00
borgmatic = {
enable = true;
};
2024-10-28 11:20:08 -04:00
gpg-agent = {
enable = true;
enableFishIntegration = true;
};
2024-11-09 14:14:31 -05:00
emacs = {
enable = true;
defaultEditor = true;
package = pkgs.emacs;
startWithUserSession = true;
socketActivation.enable = true;
};
2024-09-24 23:26:29 -04:00
};
2024-09-23 23:35:58 -04:00
xdg.systemDirs.data = [
2024-09-25 23:50:11 -04:00
"/home/emenel/.local/share/applications/wine/Programs"
2024-09-23 23:35:58 -04:00
"/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 = [
2024-10-14 23:55:25 -04:00
"com.github.tchx84.Flatseal"
2024-09-24 23:26:29 -04:00
"com.github.johnfactotum.QuickLookup"
2024-09-30 13:21:15 -04:00
"com.heroicgameslauncher.hgl"
2024-10-01 21:18:52 -04:00
"io.github.dgsasha.Remembrance"
2024-10-08 16:48:50 -04:00
"nl.hjdskes.gcolor3"
2024-09-23 23:35:58 -04:00
];
2024-10-20 22:41:51 -04:00
systemd.user.enable = true;
2024-11-04 11:13:56 -05:00
systemd.user.sessionVariables = {
GSK_RENDERER = "ngl";
MOZ_ENABLE_WAYLAND = 1;
};
2024-10-20 22:41:51 -04:00
systemd.user.services.ulauncher = {
Unit = {
Description = "Start Ulauncher";
2024-11-05 13:56:10 -05:00
PartOf=["grapical-session.target"];
2024-10-20 22:41:51 -04:00
};
2024-11-09 14:14:31 -05:00
Install = {
after = [ "graphical-session.target" ];
};
2024-10-20 22:41:51 -04:00
Service = {
ExecStart = ''${pkgs.ulauncher}/bin/ulauncher --hide-window'';
};
};
2024-10-01 16:57:09 -04:00
home.file.".npmrc".source = ../dotfiles/dot_npmrc;
2024-11-18 10:54:45 -05:00
# xdg.configFile."kmonad".source = ../dotfiles/dot_config/kmonad;
2024-10-07 23:39:25 -04:00
xdg.configFile."just/justfile".source = ../dotfiles/dot_config/just/justfile;
2024-09-24 23:26:29 -04:00
xdg.configFile."starship.toml".source = ../dotfiles/dot_config/starship.toml;
xdg.configFile."wezterm".source = ../dotfiles/dot_config/wezterm;
2024-09-30 09:10:52 -04:00
xdg.configFile."git".source = ../dotfiles/dot_config/git;
2024-11-01 18:18:56 -04:00
xdg.configFile."rbw".source = ../dotfiles/dot_config/rbw;
2024-11-18 10:54:45 -05:00
home.file.".vst3/yabridge/yabridge.toml".source = ../dotfiles/dot_vst3/yabridge.toml;
2024-09-30 09:10:52 -04:00
home.file.".sbclrc".source = ../dotfiles/dot_sbclrc;
home.file.".signature".source = ../dotfiles/dot_signature;
2024-09-29 01:13:48 -04:00
home.file.".config/fish/functions" = {
2024-09-24 23:26:29 -04:00
source = ../dotfiles/dot_config/fish/functions;
recursive = true;
};
2024-10-20 22:41:51 -04:00
home.file.".config/fish/completions" = {
source = ../dotfiles/dot_config/fish/completions;
recursive = true;
};
2024-09-24 23:26:29 -04:00
2024-09-25 23:50:11 -04:00
xdg.configFile."emacs".enable = false;
2024-09-27 16:14:39 -04:00
home.file.".msmtprc".source = ../dotfiles/dot_msmtprc;
2024-09-27 16:15:56 -04:00
home.file.".mbsyncrc".source = ../dotfiles/dot_mbsyncrc;
2024-09-29 01:33:45 -04:00
2024-11-02 15:51:01 -04:00
home.file.".local/bin" = {
source = ../dotfiles/dot_local/bin;
recursive = true;
};
2024-09-29 01:33:45 -04:00
home.file.".local/share/flf".source = ../dotfiles/dot_local/share/flf;
2024-09-22 01:04:11 -04:00
}