major refactor and reorg
This commit is contained in:
parent
fd3cedfa93
commit
3c69cf9c74
86 changed files with 811 additions and 984 deletions
BIN
assets/binary-installers/excite_cymbal_pro-v1.0.1.zip
Normal file
BIN
assets/binary-installers/excite_cymbal_pro-v1.0.1.zip
Normal file
Binary file not shown.
BIN
assets/binary-installers/excite_snare_drum_PRO_1.1.10.zip
Normal file
BIN
assets/binary-installers/excite_snare_drum_PRO_1.1.10.zip
Normal file
Binary file not shown.
BIN
assets/binary-installers/rns_344_linux_x86_64.tar.gz
Normal file
BIN
assets/binary-installers/rns_344_linux_x86_64.tar.gz
Normal file
Binary file not shown.
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
BIN
binary-installers/excite_cymbal_pro-v1.0.1.zip
(Stored with Git LFS)
BIN
binary-installers/excite_cymbal_pro-v1.0.1.zip
(Stored with Git LFS)
Binary file not shown.
BIN
binary-installers/excite_snare_drum_PRO_1.1.10.zip
(Stored with Git LFS)
BIN
binary-installers/excite_snare_drum_PRO_1.1.10.zip
(Stored with Git LFS)
Binary file not shown.
BIN
binary-installers/rns_344_linux_x86_64.tar.gz
(Stored with Git LFS)
BIN
binary-installers/rns_344_linux_x86_64.tar.gz
(Stored with Git LFS)
Binary file not shown.
46
flake.nix
46
flake.nix
|
@ -88,53 +88,21 @@
|
|||
};
|
||||
};
|
||||
|
||||
outputs = {nixpkgs, home-manager, sops-nix, musnix, self, ... } @ inputs:
|
||||
let
|
||||
inherit (self) outputs;
|
||||
# Supported systems for your flake packages, shell, etc.
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
];
|
||||
# This is a function that generates an attribute by calling a function you
|
||||
# pass to it, with each system as an argument
|
||||
forAllSystems = nixpkgs.lib.genAttrs systems;
|
||||
|
||||
in {
|
||||
|
||||
packages = forAllSystems (system: import ./packages nixpkgs.legacyPackages.${system});
|
||||
|
||||
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra);
|
||||
|
||||
overlays = import ./overlays {inherit inputs;};
|
||||
|
||||
outputs = {nixpkgs, home-manager, self, ... } @ inputs: {
|
||||
nixosConfigurations = {
|
||||
eddie = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit inputs outputs;
|
||||
inherit self inputs;
|
||||
};
|
||||
modules = [
|
||||
sops-nix.nixosModules.sops
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
inputs.nix-flatpak.nixosModules.nix-flatpak
|
||||
inputs.kmonad.nixosModules.default
|
||||
musnix.nixosModules.musnix
|
||||
./system/eddie/configuration.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
homeConfigurations = {
|
||||
"emenel" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs;
|
||||
};
|
||||
|
||||
modules = [
|
||||
inputs.nix-flatpak.homeManagerModules.nix-flatpak
|
||||
inputs.stylix.homeManagerModules.stylix
|
||||
sops-nix.homeManagerModules.sops
|
||||
./home/home.nix
|
||||
inputs.musnix.nixosModules.musnix
|
||||
home-manager.nixosModules.home-manager
|
||||
./hosts/eddie
|
||||
./homes/emenel/default.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
800
home/home.nix
800
home/home.nix
|
@ -1,800 +0,0 @@
|
|||
{ config, lib, pkgs, inputs, outputs, ... }:
|
||||
{
|
||||
|
||||
nixpkgs = {
|
||||
overlays = [
|
||||
outputs.overlays.additions
|
||||
outputs.overlays.modifications
|
||||
outputs.overlays.unstable-packages
|
||||
outputs.overlays.emacs-overlay
|
||||
];
|
||||
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
inputs.affinity-nix.packages.x86_64-linux.photo
|
||||
inputs.affinity-nix.packages.x86_64-linux.publisher
|
||||
inputs.affinity-nix.packages.x86_64-linux.designer
|
||||
inputs.shikane.packages.x86_64-linux.default
|
||||
guix
|
||||
unstable.thonny
|
||||
inputs.isd.packages.x86_64-linux.default
|
||||
wayback
|
||||
just
|
||||
yt-dlp
|
||||
erdtree
|
||||
age
|
||||
figlet
|
||||
ffmpeg-full
|
||||
rlwrap
|
||||
pinentry
|
||||
gcr
|
||||
gnutar
|
||||
libnotify
|
||||
unzip
|
||||
zip
|
||||
stdenv
|
||||
tldr
|
||||
delta
|
||||
htop
|
||||
dconf
|
||||
dconf2nix
|
||||
readline
|
||||
gnupg
|
||||
imagemagick
|
||||
gnutls
|
||||
gettext
|
||||
xorg.libX11
|
||||
xorg.libxcb
|
||||
freetype
|
||||
gnumake
|
||||
flex
|
||||
bison
|
||||
mesa
|
||||
neofetch
|
||||
nvd
|
||||
nitch
|
||||
ripgrep-all
|
||||
silver-searcher
|
||||
maestral
|
||||
maestral-gui
|
||||
nix-index
|
||||
fstl
|
||||
godot_4
|
||||
sane-airscan
|
||||
xsane
|
||||
dbus
|
||||
gst_all_1.gstreamer
|
||||
alsa-oss
|
||||
powertop
|
||||
unstable.hypridle
|
||||
age
|
||||
sops
|
||||
|
||||
nix-du
|
||||
|
||||
usbutils
|
||||
pciutils
|
||||
util-linux
|
||||
coreutils
|
||||
binutils
|
||||
protonplus
|
||||
ispell
|
||||
(aspellWithDicts (dicts: with dicts; [ en en-computers en-science es fr ]))
|
||||
texlive.combined.scheme-full
|
||||
appimage-run
|
||||
libappimage
|
||||
transmission_4-gtk
|
||||
lsof
|
||||
guile
|
||||
python311
|
||||
python311Packages.pip
|
||||
python311Packages.mido
|
||||
python311Packages.simpleeval
|
||||
python311Packages.parsedatetime
|
||||
python311Packages.pytz
|
||||
python311Packages.pint
|
||||
python311Packages.babel
|
||||
python311Packages.requests
|
||||
python311Packages.distutils-extra
|
||||
python311Packages.distlib
|
||||
ruff
|
||||
|
||||
(sbcl.withPackages (ps: with ps; [
|
||||
cffi
|
||||
arrow-macros
|
||||
alexandria
|
||||
serapeum
|
||||
]))
|
||||
|
||||
kdlfmt
|
||||
kdotool
|
||||
ccl
|
||||
racket
|
||||
gdu
|
||||
poppler_utils
|
||||
editorconfig-core-c
|
||||
cljfmt
|
||||
libxml2
|
||||
gdtoolkit_4
|
||||
openssl.out
|
||||
nixfmt-rfc-style
|
||||
wl-clipboard
|
||||
unstable.clipse
|
||||
maim
|
||||
php
|
||||
rustup
|
||||
shfmt
|
||||
html-tidy
|
||||
libsecret
|
||||
samba4Full
|
||||
shellcheck
|
||||
wayland-utils
|
||||
libffi.dev
|
||||
nodejs_18
|
||||
platformio-core
|
||||
icloudpd
|
||||
libheif.out
|
||||
openal
|
||||
pkg-config
|
||||
ftgl
|
||||
gperf
|
||||
numbat
|
||||
glpng
|
||||
nurl
|
||||
freecad
|
||||
procs
|
||||
rpi-imager
|
||||
caligula
|
||||
|
||||
prusa-slicer
|
||||
|
||||
# global 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
|
||||
|
||||
git-annex
|
||||
|
||||
fishPlugins.foreign-env
|
||||
fishPlugins.z
|
||||
fishPlugins.fzf-fish
|
||||
fishPlugins.bass
|
||||
fishPlugins.autopair
|
||||
fishPlugins.forgit
|
||||
fishPlugins.colored-man-pages
|
||||
imgcat
|
||||
via
|
||||
vial
|
||||
bitwarden-cli
|
||||
bitwarden-desktop
|
||||
tailscale
|
||||
trayscale
|
||||
font-manager
|
||||
scribus
|
||||
pdfarranger
|
||||
tdf
|
||||
pdfchain
|
||||
pdftk
|
||||
ghostscript
|
||||
zathura
|
||||
gpu-viewer
|
||||
mesa-demos
|
||||
|
||||
gnomeExtensions.just-perfection
|
||||
gnomeExtensions.dash-to-dock
|
||||
gnomeExtensions.paperwm
|
||||
gnomeExtensions.custom-hot-corners-extended
|
||||
gnomeExtensions.media-controls
|
||||
gnomeExtensions.looking-glass-button
|
||||
gnomeExtensions.auto-power-profile
|
||||
gnomeExtensions.appindicator
|
||||
gnome-software
|
||||
gnome-tweaks
|
||||
gnome-photos
|
||||
gnome-keyring
|
||||
ulauncher
|
||||
wl-mirror
|
||||
unstable.nwg-look
|
||||
soundconverter
|
||||
gtop
|
||||
wmctrl
|
||||
colloid-gtk-theme
|
||||
colloid-icon-theme
|
||||
whitesur-gtk-theme
|
||||
whitesur-cursors
|
||||
whitesur-icon-theme
|
||||
bibata-cursors
|
||||
adwaita-qt
|
||||
|
||||
icloudpd
|
||||
squirreldisk
|
||||
papers
|
||||
newsflash
|
||||
planify
|
||||
borgbackup
|
||||
vorta
|
||||
stirling-pdf
|
||||
trash-cli
|
||||
ripdrag
|
||||
wineWowPackages.stagingFull
|
||||
winetricks
|
||||
|
||||
(yabridge.override {
|
||||
wine = wineWowPackages.stagingFull;
|
||||
})
|
||||
(yabridgectl.override {
|
||||
wine = wineWowPackages.stagingFull;
|
||||
})
|
||||
|
||||
chayang
|
||||
sway-launcher-desktop
|
||||
unstable.swayosd
|
||||
spice
|
||||
spice-gtk
|
||||
spice-protocol
|
||||
virt-viewer
|
||||
virt-manager
|
||||
bfg-repo-cleaner
|
||||
thunderbird-latest
|
||||
emojify
|
||||
smile
|
||||
gnomeExtensions.smile-complementary-extension
|
||||
impression
|
||||
zoom-us
|
||||
nyxt
|
||||
unstable.ungoogled-chromium
|
||||
obsidian
|
||||
vlc
|
||||
unstable.polychromatic
|
||||
discord
|
||||
slack
|
||||
signal-desktop
|
||||
eyedropper
|
||||
calcurse
|
||||
onlyoffice-desktopeditors
|
||||
libreoffice
|
||||
hyphenDicts.en_US
|
||||
unstable.plexamp
|
||||
rmpc
|
||||
resources
|
||||
carla
|
||||
switcheroo
|
||||
tenacity
|
||||
supercollider-with-plugins
|
||||
bitwig-studio-beta
|
||||
blender
|
||||
davinci-resolve-studio
|
||||
steam
|
||||
unstable.processing
|
||||
zotero
|
||||
jre
|
||||
tesseract
|
||||
handbrake
|
||||
renoise
|
||||
krita
|
||||
darling
|
||||
darling-dmg
|
||||
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
|
||||
unstable.playerctl
|
||||
mioctl
|
||||
oculante
|
||||
unstable.door-knocker
|
||||
inputs.hyprpicker.packages.x86_64-linux.default
|
||||
farge
|
||||
unstable.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
|
||||
easyeffects
|
||||
vcv-rack
|
||||
cardinal
|
||||
roomeqwizard
|
||||
guitarix
|
||||
# paulxstretch
|
||||
vital
|
||||
helio-workstation
|
||||
stochas
|
||||
|
||||
tal-bassline
|
||||
tal-j8
|
||||
tal-u-no-lx
|
||||
amplocker
|
||||
chair-snare
|
||||
chair-cymb
|
||||
tus-vavra
|
||||
tus-nodal-red
|
||||
tus-xenia
|
||||
tus-ostirus
|
||||
tus-osirus
|
||||
|
||||
# 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 = "$(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 = "Bibtata-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;
|
||||
defaultSymlinkPath = "/run/user/1000/secrets";
|
||||
defaultSecretsMountPoint = "/run/user/1000/secrets.d";
|
||||
|
||||
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;
|
||||
};
|
||||
mpv = {
|
||||
enable = true;
|
||||
package = (pkgs.unstable.mpv-unwrapped.wrapper {
|
||||
scripts = with pkgs.unstable.mpvScripts; [
|
||||
thumbfast
|
||||
modernz
|
||||
];
|
||||
|
||||
mpv = pkgs.unstable.mpv-unwrapped.override {
|
||||
waylandSupport = true;
|
||||
ffmpeg = pkgs.ffmpeg-full;
|
||||
};
|
||||
});
|
||||
config = {
|
||||
osc = "no";
|
||||
profile = "high-quality";
|
||||
ytdl-format = "bestvideo+bestaudio";
|
||||
cache-default = 4000000;
|
||||
};
|
||||
};
|
||||
direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
yazi = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
package = inputs.yazi.packages.x86_64-linux.default;
|
||||
};
|
||||
fish = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
"ls" = "eza";
|
||||
".j" = "just -g";
|
||||
"em" = "emacsclient -n -r";
|
||||
"mkdir" = "mkdir -pv";
|
||||
};
|
||||
interactiveShellInit = ''
|
||||
bind --erase \ct
|
||||
'';
|
||||
plugins = [
|
||||
{
|
||||
name = "upto";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "Markcial";
|
||||
repo = "upto";
|
||||
rev = "2d1f35453fb55747d50da8c1cb1809840f99a646";
|
||||
sha256 = "sha256-Lv2XtP2x9dkIkUUjMBWVpAs/l55Ztu7gIjKYH6ZzK4s=";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
zoxide = {
|
||||
enable = true;
|
||||
};
|
||||
starship = {
|
||||
enable = true;
|
||||
};
|
||||
mu.enable = true;
|
||||
mbsync.enable = true;
|
||||
msmtp.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
|
||||
]
|
||||
));
|
||||
};
|
||||
ripgrep = {
|
||||
enable = true;
|
||||
};
|
||||
thefuck = {
|
||||
enable = true;
|
||||
};
|
||||
wezterm = {
|
||||
enable = true;
|
||||
package = inputs.wezterm.packages.${pkgs.system}.default;
|
||||
};
|
||||
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"
|
||||
"- home/emenel/.local/share/bitwig"
|
||||
];
|
||||
repositories = [
|
||||
{
|
||||
"path" = "ssh://oyi3ydnz@oyi3ydnz.repo.borgbase.com/./repo";
|
||||
"label" = "eddie on borgbase";
|
||||
}
|
||||
];
|
||||
};
|
||||
retention = {
|
||||
keepDaily = 3;
|
||||
keepHourly = 3;
|
||||
keepMonthly = 2;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
eza = {
|
||||
enable = true;
|
||||
};
|
||||
fd = {
|
||||
enable = true;
|
||||
};
|
||||
fzf = {
|
||||
enable = true;
|
||||
enableFishIntegration = false;
|
||||
};
|
||||
broot = {
|
||||
enable = true;
|
||||
};
|
||||
git = {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
||||
};
|
||||
htop.enable = true;
|
||||
nnn = {
|
||||
enable = true;
|
||||
};
|
||||
pandoc.enable = true;
|
||||
password-store.enable = true;
|
||||
wlogout = {
|
||||
enable = true;
|
||||
};
|
||||
hyprlock = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
waybar = {
|
||||
enable = true;
|
||||
package = pkgs.unstable.waybar;
|
||||
# systemd = {
|
||||
# enable = true;
|
||||
# # target = "graphical-session.target";
|
||||
# };
|
||||
};
|
||||
eww = {
|
||||
enable = true;
|
||||
configDir = ../dotfiles/dot_config/eww;
|
||||
};
|
||||
lazygit.enable = true;
|
||||
jq.enable = true;
|
||||
firefox.enable = true;
|
||||
rbw = {
|
||||
enable = true;
|
||||
package = pkgs.rbw-latest;
|
||||
};
|
||||
};
|
||||
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/background" = {
|
||||
picture-options = "none";
|
||||
primary-color = "#000000";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
};
|
||||
|
||||
"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 = {
|
||||
playerctld = {
|
||||
enable = true;
|
||||
package = pkgs.unstable.playerctl;
|
||||
};
|
||||
mako = {
|
||||
enable = true;
|
||||
};
|
||||
flatpak.enable = true;
|
||||
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"];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# stylix = {
|
||||
# enable = true;
|
||||
# base16Scheme = "${pkgs.base16-schemes}/share/themes/oxocarbon-dark.yaml";
|
||||
# image = ./akira.png;
|
||||
# cursor = {
|
||||
# package = pkgs.bibata-cursors;
|
||||
# name = "Bibtata-Modern-Classic";
|
||||
# size = 24;
|
||||
# };
|
||||
# };
|
||||
|
||||
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"
|
||||
"nl.hjdskes.gcolor3"
|
||||
"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."mako".source = ../dotfiles/dot_config/mako;
|
||||
xdg.configFile."hypr".source = ../dotfiles/dot_config/hypr;
|
||||
xdg.configFile."halloy/config.toml".source = ../dotfiles/dot_config/halloy/config.toml;
|
||||
xdg.configFile."waybar".source = ../dotfiles/dot_config/waybar;
|
||||
xdg.configFile."just/justfile".source = ../dotfiles/dot_config/just/justfile;
|
||||
xdg.configFile."starship.toml".source = ../dotfiles/dot_config/starship.toml;
|
||||
xdg.configFile."ghostty".source = ../dotfiles/dot_config/ghostty;
|
||||
xdg.configFile."wezterm".source = ../dotfiles/dot_config/wezterm;
|
||||
xdg.configFile."git".source = ../dotfiles/dot_config/git;
|
||||
xdg.configFile."rbw".source = ../dotfiles/dot_config/rbw;
|
||||
xdg.configFile."niri/config.kdl".source = ../dotfiles/dot_config/niri/config.kdl;
|
||||
xdg.configFile."shikane".source = ../dotfiles/dot_config/shikane;
|
||||
home.file.".ssh/config".source = ../dotfiles/dot_ssh/config;
|
||||
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;
|
||||
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."yazi" = {
|
||||
source = ../dotfiles/dot_config/yazi;
|
||||
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" = {
|
||||
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;
|
||||
};
|
||||
}
|
791
homes/emenel/default.nix
Normal file
791
homes/emenel/default.nix
Normal file
|
@ -0,0 +1,791 @@
|
|||
{ config, lib, pkgs, inputs, outputs, ... }:
|
||||
{
|
||||
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.extraSpecialArgs = { inherit inputs variables; };
|
||||
|
||||
home-manager.users.emenel = {
|
||||
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
inputs.affinity-nix.packages.x86_64-linux.photo
|
||||
inputs.affinity-nix.packages.x86_64-linux.publisher
|
||||
inputs.affinity-nix.packages.x86_64-linux.designer
|
||||
inputs.shikane.packages.x86_64-linux.default
|
||||
guix
|
||||
unstable.thonny
|
||||
inputs.isd.packages.x86_64-linux.default
|
||||
wayback
|
||||
just
|
||||
yt-dlp
|
||||
erdtree
|
||||
age
|
||||
figlet
|
||||
ffmpeg-full
|
||||
rlwrap
|
||||
pinentry
|
||||
gcr
|
||||
gnutar
|
||||
libnotify
|
||||
unzip
|
||||
zip
|
||||
stdenv
|
||||
tldr
|
||||
delta
|
||||
htop
|
||||
dconf
|
||||
dconf2nix
|
||||
readline
|
||||
gnupg
|
||||
imagemagick
|
||||
gnutls
|
||||
gettext
|
||||
xorg.libX11
|
||||
xorg.libxcb
|
||||
freetype
|
||||
gnumake
|
||||
flex
|
||||
bison
|
||||
mesa
|
||||
neofetch
|
||||
nvd
|
||||
nitch
|
||||
ripgrep-all
|
||||
silver-searcher
|
||||
maestral
|
||||
maestral-gui
|
||||
nix-index
|
||||
fstl
|
||||
godot_4
|
||||
sane-airscan
|
||||
xsane
|
||||
dbus
|
||||
gst_all_1.gstreamer
|
||||
alsa-oss
|
||||
powertop
|
||||
unstable.hypridle
|
||||
age
|
||||
sops
|
||||
|
||||
nix-du
|
||||
|
||||
usbutils
|
||||
pciutils
|
||||
util-linux
|
||||
coreutils
|
||||
binutils
|
||||
protonplus
|
||||
ispell
|
||||
(aspellWithDicts (dicts: with dicts; [ en en-computers en-science es fr ]))
|
||||
texlive.combined.scheme-full
|
||||
appimage-run
|
||||
libappimage
|
||||
transmission_4-gtk
|
||||
lsof
|
||||
guile
|
||||
python311
|
||||
python311Packages.pip
|
||||
python311Packages.mido
|
||||
python311Packages.simpleeval
|
||||
python311Packages.parsedatetime
|
||||
python311Packages.pytz
|
||||
python311Packages.pint
|
||||
python311Packages.babel
|
||||
python311Packages.requests
|
||||
python311Packages.distutils-extra
|
||||
python311Packages.distlib
|
||||
ruff
|
||||
|
||||
(sbcl.withPackages (ps: with ps; [
|
||||
cffi
|
||||
arrow-macros
|
||||
alexandria
|
||||
serapeum
|
||||
]))
|
||||
|
||||
kdlfmt
|
||||
kdotool
|
||||
ccl
|
||||
racket
|
||||
gdu
|
||||
poppler_utils
|
||||
editorconfig-core-c
|
||||
cljfmt
|
||||
libxml2
|
||||
gdtoolkit_4
|
||||
openssl.out
|
||||
nixfmt-rfc-style
|
||||
wl-clipboard
|
||||
unstable.clipse
|
||||
maim
|
||||
php
|
||||
rustup
|
||||
shfmt
|
||||
html-tidy
|
||||
libsecret
|
||||
samba4Full
|
||||
shellcheck
|
||||
wayland-utils
|
||||
libffi.dev
|
||||
nodejs_18
|
||||
platformio-core
|
||||
icloudpd
|
||||
libheif.out
|
||||
openal
|
||||
pkg-config
|
||||
ftgl
|
||||
gperf
|
||||
numbat
|
||||
glpng
|
||||
nurl
|
||||
freecad
|
||||
procs
|
||||
rpi-imager
|
||||
caligula
|
||||
|
||||
prusa-slicer
|
||||
|
||||
# global 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
|
||||
|
||||
git-annex
|
||||
|
||||
fishPlugins.foreign-env
|
||||
fishPlugins.z
|
||||
fishPlugins.fzf-fish
|
||||
fishPlugins.bass
|
||||
fishPlugins.autopair
|
||||
fishPlugins.forgit
|
||||
fishPlugins.colored-man-pages
|
||||
imgcat
|
||||
via
|
||||
vial
|
||||
bitwarden-cli
|
||||
bitwarden-desktop
|
||||
tailscale
|
||||
trayscale
|
||||
font-manager
|
||||
scribus
|
||||
pdfarranger
|
||||
tdf
|
||||
pdfchain
|
||||
pdftk
|
||||
ghostscript
|
||||
zathura
|
||||
gpu-viewer
|
||||
mesa-demos
|
||||
|
||||
gnomeExtensions.just-perfection
|
||||
gnomeExtensions.dash-to-dock
|
||||
gnomeExtensions.paperwm
|
||||
gnomeExtensions.custom-hot-corners-extended
|
||||
gnomeExtensions.media-controls
|
||||
gnomeExtensions.looking-glass-button
|
||||
gnomeExtensions.auto-power-profile
|
||||
gnomeExtensions.appindicator
|
||||
gnome-software
|
||||
gnome-tweaks
|
||||
gnome-photos
|
||||
gnome-keyring
|
||||
ulauncher
|
||||
wl-mirror
|
||||
unstable.nwg-look
|
||||
soundconverter
|
||||
gtop
|
||||
wmctrl
|
||||
colloid-gtk-theme
|
||||
colloid-icon-theme
|
||||
whitesur-gtk-theme
|
||||
whitesur-cursors
|
||||
whitesur-icon-theme
|
||||
bibata-cursors
|
||||
adwaita-qt
|
||||
|
||||
icloudpd
|
||||
squirreldisk
|
||||
papers
|
||||
newsflash
|
||||
planify
|
||||
borgbackup
|
||||
vorta
|
||||
stirling-pdf
|
||||
trash-cli
|
||||
ripdrag
|
||||
wineWowPackages.stagingFull
|
||||
winetricks
|
||||
|
||||
(yabridge.override {
|
||||
wine = wineWowPackages.stagingFull;
|
||||
})
|
||||
(yabridgectl.override {
|
||||
wine = wineWowPackages.stagingFull;
|
||||
})
|
||||
|
||||
chayang
|
||||
sway-launcher-desktop
|
||||
unstable.swayosd
|
||||
spice
|
||||
spice-gtk
|
||||
spice-protocol
|
||||
virt-viewer
|
||||
virt-manager
|
||||
bfg-repo-cleaner
|
||||
thunderbird-latest
|
||||
emojify
|
||||
smile
|
||||
gnomeExtensions.smile-complementary-extension
|
||||
impression
|
||||
zoom-us
|
||||
nyxt
|
||||
unstable.ungoogled-chromium
|
||||
obsidian
|
||||
vlc
|
||||
unstable.polychromatic
|
||||
discord
|
||||
slack
|
||||
signal-desktop
|
||||
eyedropper
|
||||
calcurse
|
||||
onlyoffice-desktopeditors
|
||||
libreoffice
|
||||
hyphenDicts.en_US
|
||||
unstable.plexamp
|
||||
rmpc
|
||||
resources
|
||||
carla
|
||||
switcheroo
|
||||
tenacity
|
||||
supercollider-with-plugins
|
||||
bitwig-studio-beta
|
||||
blender
|
||||
davinci-resolve-studio
|
||||
steam
|
||||
unstable.processing
|
||||
zotero
|
||||
jre
|
||||
tesseract
|
||||
handbrake
|
||||
renoise
|
||||
krita
|
||||
darling
|
||||
darling-dmg
|
||||
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
|
||||
unstable.playerctl
|
||||
mioctl
|
||||
oculante
|
||||
unstable.door-knocker
|
||||
inputs.hyprpicker.packages.x86_64-linux.default
|
||||
farge
|
||||
unstable.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
|
||||
easyeffects
|
||||
vcv-rack
|
||||
cardinal
|
||||
roomeqwizard
|
||||
guitarix
|
||||
# paulxstretch
|
||||
vital
|
||||
helio-workstation
|
||||
stochas
|
||||
|
||||
tal-bassline
|
||||
tal-j8
|
||||
tal-u-no-lx
|
||||
amplocker
|
||||
chair-snare
|
||||
chair-cymb
|
||||
tus-vavra
|
||||
tus-nodal-red
|
||||
tus-xenia
|
||||
tus-ostirus
|
||||
tus-osirus
|
||||
|
||||
# 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 = "$(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 = "Bibtata-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;
|
||||
defaultSymlinkPath = "/run/user/1000/secrets";
|
||||
defaultSecretsMountPoint = "/run/user/1000/secrets.d";
|
||||
|
||||
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;
|
||||
mpv = {
|
||||
enable = true;
|
||||
package = (pkgs.unstable.mpv-unwrapped.wrapper {
|
||||
scripts = with pkgs.unstable.mpvScripts; [
|
||||
thumbfast
|
||||
modernz
|
||||
];
|
||||
|
||||
mpv = pkgs.unstable.mpv-unwrapped.override {
|
||||
waylandSupport = true;
|
||||
ffmpeg = pkgs.ffmpeg-full;
|
||||
};
|
||||
});
|
||||
config = {
|
||||
osc = "no";
|
||||
profile = "high-quality";
|
||||
ytdl-format = "bestvideo+bestaudio";
|
||||
cache-default = 4000000;
|
||||
};
|
||||
};
|
||||
direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
yazi = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
package = inputs.yazi.packages.x86_64-linux.default;
|
||||
};
|
||||
fish = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
"ls" = "eza";
|
||||
".j" = "just -g";
|
||||
"em" = "emacsclient -n -r";
|
||||
"mkdir" = "mkdir -pv";
|
||||
};
|
||||
interactiveShellInit = ''
|
||||
bind --erase \ct
|
||||
'';
|
||||
plugins = [
|
||||
{
|
||||
name = "upto";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "Markcial";
|
||||
repo = "upto";
|
||||
rev = "2d1f35453fb55747d50da8c1cb1809840f99a646";
|
||||
sha256 = "sha256-Lv2XtP2x9dkIkUUjMBWVpAs/l55Ztu7gIjKYH6ZzK4s=";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
zoxide = {
|
||||
enable = true;
|
||||
};
|
||||
starship = {
|
||||
enable = true;
|
||||
};
|
||||
mu.enable = true;
|
||||
mbsync.enable = true;
|
||||
msmtp.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
|
||||
]
|
||||
));
|
||||
};
|
||||
ripgrep = {
|
||||
enable = true;
|
||||
};
|
||||
thefuck = {
|
||||
enable = true;
|
||||
};
|
||||
wezterm = {
|
||||
enable = true;
|
||||
package = inputs.wezterm.packages.${pkgs.system}.default;
|
||||
};
|
||||
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"
|
||||
"- home/emenel/.local/share/bitwig"
|
||||
];
|
||||
repositories = [
|
||||
{
|
||||
"path" = "ssh://oyi3ydnz@oyi3ydnz.repo.borgbase.com/./repo";
|
||||
"label" = "eddie on borgbase";
|
||||
}
|
||||
];
|
||||
};
|
||||
retention = {
|
||||
keepDaily = 3;
|
||||
keepHourly = 3;
|
||||
keepMonthly = 2;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
eza = {
|
||||
enable = true;
|
||||
};
|
||||
fd = {
|
||||
enable = true;
|
||||
};
|
||||
fzf = {
|
||||
enable = true;
|
||||
enableFishIntegration = false;
|
||||
};
|
||||
broot = {
|
||||
enable = true;
|
||||
};
|
||||
git = {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
||||
};
|
||||
htop.enable = true;
|
||||
nnn = {
|
||||
enable = true;
|
||||
};
|
||||
pandoc.enable = true;
|
||||
password-store.enable = true;
|
||||
wlogout = {
|
||||
enable = true;
|
||||
};
|
||||
hyprlock = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
waybar = {
|
||||
enable = true;
|
||||
package = pkgs.unstable.waybar;
|
||||
# systemd = {
|
||||
# enable = true;
|
||||
# # target = "graphical-session.target";
|
||||
# };
|
||||
};
|
||||
eww = {
|
||||
enable = true;
|
||||
configDir = ../dotfiles/dot_config/eww;
|
||||
};
|
||||
lazygit.enable = true;
|
||||
jq.enable = true;
|
||||
firefox.enable = true;
|
||||
rbw = {
|
||||
enable = true;
|
||||
package = pkgs.rbw-latest;
|
||||
};
|
||||
};
|
||||
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/background" = {
|
||||
picture-options = "none";
|
||||
primary-color = "#000000";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
};
|
||||
|
||||
"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 = {
|
||||
playerctld = {
|
||||
enable = true;
|
||||
package = pkgs.unstable.playerctl;
|
||||
};
|
||||
mako = {
|
||||
enable = true;
|
||||
};
|
||||
flatpak.enable = true;
|
||||
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"];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# stylix = {
|
||||
# enable = true;
|
||||
# base16Scheme = "${pkgs.base16-schemes}/share/themes/oxocarbon-dark.yaml";
|
||||
# image = ./akira.png;
|
||||
# cursor = {
|
||||
# package = pkgs.bibata-cursors;
|
||||
# name = "Bibtata-Modern-Classic";
|
||||
# size = 24;
|
||||
# };
|
||||
# };
|
||||
|
||||
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"
|
||||
"nl.hjdskes.gcolor3"
|
||||
"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."mako".source = ../dotfiles/dot_config/mako;
|
||||
xdg.configFile."hypr".source = ../dotfiles/dot_config/hypr;
|
||||
xdg.configFile."halloy/config.toml".source = ../dotfiles/dot_config/halloy/config.toml;
|
||||
xdg.configFile."waybar".source = ../dotfiles/dot_config/waybar;
|
||||
xdg.configFile."just/justfile".source = ../dotfiles/dot_config/just/justfile;
|
||||
xdg.configFile."starship.toml".source = ../dotfiles/dot_config/starship.toml;
|
||||
xdg.configFile."ghostty".source = ../dotfiles/dot_config/ghostty;
|
||||
xdg.configFile."wezterm".source = ../dotfiles/dot_config/wezterm;
|
||||
xdg.configFile."git".source = ../dotfiles/dot_config/git;
|
||||
xdg.configFile."rbw".source = ../dotfiles/dot_config/rbw;
|
||||
xdg.configFile."niri/config.kdl".source = ../dotfiles/dot_config/niri/config.kdl;
|
||||
xdg.configFile."shikane".source = ../dotfiles/dot_config/shikane;
|
||||
home.file.".ssh/config".source = ../dotfiles/dot_ssh/config;
|
||||
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;
|
||||
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."yazi" = {
|
||||
source = ../dotfiles/dot_config/yazi;
|
||||
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" = {
|
||||
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;
|
||||
};
|
||||
};
|
||||
}
|
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 136 KiB |
0
homes/media/default.nix
Normal file
0
homes/media/default.nix
Normal file
|
@ -5,45 +5,31 @@
|
|||
{ config, pkgs, lib, inputs, musnix, outputs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
./razer-speaker-fix.nix
|
||||
../niri
|
||||
];
|
||||
|
||||
# imports =
|
||||
# [ # Include the results of the hardware scan.
|
||||
# ./hardware-configuration.nix
|
||||
# ./razer-speaker-fix.nix
|
||||
# ];
|
||||
|
||||
nixpkgs = {
|
||||
# You can add overlays here
|
||||
overlays = [
|
||||
# Add overlays your own flake exports (from overlays and pkgs dir):
|
||||
outputs.overlays.additions
|
||||
outputs.overlays.modifications
|
||||
outputs.overlays.unstable-packages
|
||||
];
|
||||
# Configure your nixpkgs instance
|
||||
config = {
|
||||
# Disable if you don't want unfree packages
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
|
||||
nix = let
|
||||
flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
|
||||
in {
|
||||
|
||||
nix = {
|
||||
settings = {
|
||||
# Enable flakes and new 'nix' command
|
||||
experimental-features = "nix-command flakes";
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
substituters = [ "https://nix-community.cachix.org" ];
|
||||
trusted-public-keys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
];
|
||||
# Workaround for https://github.com/NixOS/nix/issues/9574
|
||||
nix-path = config.nix.nixPath;
|
||||
};
|
||||
|
||||
# Opinionated: make flake registry and nix path match flake inputs
|
||||
registry = lib.mapAttrs (_: flake: {inherit flake;}) flakeInputs;
|
||||
nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
|
||||
};
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
environment.systemPackages = with pkgs; [
|
||||
wget
|
||||
libGL
|
||||
|
@ -90,7 +76,7 @@
|
|||
|
||||
documentation = {
|
||||
dev.enable = true;
|
||||
man.generateCaches = false;
|
||||
man.generateCaches = true;
|
||||
};
|
||||
|
||||
hardware = {
|
||||
|
@ -553,10 +539,6 @@
|
|||
];
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#do not change
|
||||
system.stateVersion = "24.05";
|
||||
|
|
@ -1,105 +0,0 @@
|
|||
diff --git a/kernel-open/nvidia-drm/nvidia-drm-drv.c b/kernel-open/nvidia-drm/nvidia-drm-drv.c
|
||||
index 8cb94219..27b3cbd9 100644
|
||||
--- a/kernel-open/nvidia-drm/nvidia-drm-drv.c
|
||||
+++ b/kernel-open/nvidia-drm/nvidia-drm-drv.c
|
||||
@@ -100,6 +100,11 @@
|
||||
#include <drm/drm_atomic_helper.h>
|
||||
#endif
|
||||
|
||||
+#include <linux/version.h>
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 12, 0)
|
||||
+#include <drm/drm_client.h>
|
||||
+#endif
|
||||
+
|
||||
static int nv_drm_revoke_modeset_permission(struct drm_device *dev,
|
||||
struct drm_file *filep,
|
||||
NvU32 dpyId);
|
||||
@@ -147,7 +152,7 @@
|
||||
|
||||
#if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
|
||||
|
||||
-#if defined(NV_DRM_OUTPUT_POLL_CHANGED_PRESENT)
|
||||
+
|
||||
static void nv_drm_output_poll_changed(struct drm_device *dev)
|
||||
{
|
||||
struct drm_connector *connector = NULL;
|
||||
@@ -191,7 +196,7 @@
|
||||
nv_drm_connector_list_iter_end(&conn_iter);
|
||||
#endif
|
||||
}
|
||||
-#endif /* NV_DRM_OUTPUT_POLL_CHANGED_PRESENT */
|
||||
+
|
||||
|
||||
static struct drm_framebuffer *nv_drm_framebuffer_create(
|
||||
struct drm_device *dev,
|
||||
@@ -229,9 +234,7 @@
|
||||
.atomic_check = nv_drm_atomic_check,
|
||||
.atomic_commit = nv_drm_atomic_commit,
|
||||
|
||||
- #if defined(NV_DRM_OUTPUT_POLL_CHANGED_PRESENT)
|
||||
- .output_poll_changed = nv_drm_output_poll_changed,
|
||||
- #endif
|
||||
+
|
||||
};
|
||||
|
||||
static void nv_drm_event_callback(const struct NvKmsKapiEvent *event)
|
||||
@@ -1711,6 +1714,10 @@
|
||||
.read = drm_read,
|
||||
|
||||
.llseek = noop_llseek,
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 12, 0)
|
||||
+ // Rel. commit. "fs: move FMODE_UNSIGNED_OFFSET to fop_flags" (Christian Brauner, 9 Aug 2024)
|
||||
+ .fop_flags = FOP_UNSIGNED_OFFSET,
|
||||
+#endif
|
||||
};
|
||||
|
||||
static const struct drm_ioctl_desc nv_drm_ioctls[] = {
|
||||
@@ -1939,6 +1946,20 @@
|
||||
}
|
||||
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 12, 0)
|
||||
+static int hotplug_helper_client_hotplug(struct drm_client_dev *client)
|
||||
+{
|
||||
+ nv_drm_output_poll_changed(client->dev);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static const struct drm_client_funcs nv_hotplug_helper_client_funcs = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .hotplug = hotplug_helper_client_hotplug,
|
||||
+};
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
|
||||
/*
|
||||
* Helper function for allocate/register DRM device for given NVIDIA GPU ID.
|
||||
@@ -2029,8 +2050,27 @@
|
||||
nv_dev->next = dev_list;
|
||||
dev_list = nv_dev;
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 12, 0)
|
||||
+ /* Register a DRM client for receiving hotplug events */
|
||||
+ struct drm_client_dev *client = kzalloc(sizeof(*client), GFP_KERNEL);
|
||||
+ if (client == NULL || drm_client_init(dev, client,
|
||||
+ "nv-hotplug-helper", &nv_hotplug_helper_client_funcs)) {
|
||||
+ printk(KERN_WARNING "Failed to initialize the nv-hotplug-helper DRM client.");
|
||||
+ goto failed_drm_client_init;
|
||||
+ }
|
||||
+
|
||||
+ drm_client_register(client);
|
||||
+ pr_info("Registered the nv-hotplug-helper DRM client.");
|
||||
+#endif
|
||||
+
|
||||
return; /* Success */
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 12, 0)
|
||||
+failed_drm_client_init:
|
||||
+
|
||||
+ kfree(client);
|
||||
+#endif
|
||||
+
|
||||
failed_drm_register:
|
||||
|
||||
nv_drm_dev_free(dev);
|
Loading…
Add table
Add a link
Reference in a new issue