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:
|
outputs = {nixpkgs, home-manager, 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;};
|
|
||||||
|
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
eddie = nixpkgs.lib.nixosSystem {
|
eddie = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit inputs outputs;
|
inherit self inputs;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
inputs.nix-flatpak.nixosModules.nix-flatpak
|
inputs.nix-flatpak.nixosModules.nix-flatpak
|
||||||
inputs.kmonad.nixosModules.default
|
inputs.kmonad.nixosModules.default
|
||||||
musnix.nixosModules.musnix
|
inputs.musnix.nixosModules.musnix
|
||||||
./system/eddie/configuration.nix
|
home-manager.nixosModules.home-manager
|
||||||
];
|
./hosts/eddie
|
||||||
};
|
./homes/emenel/default.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
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
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, ... }:
|
{ config, pkgs, lib, inputs, musnix, outputs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
|
||||||
[ # Include the results of the hardware scan.
|
# imports =
|
||||||
./hardware-configuration.nix
|
# [ # Include the results of the hardware scan.
|
||||||
./razer-speaker-fix.nix
|
# ./hardware-configuration.nix
|
||||||
../niri
|
# ./razer-speaker-fix.nix
|
||||||
];
|
# ];
|
||||||
|
|
||||||
nixpkgs = {
|
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 = {
|
config = {
|
||||||
# Disable if you don't want unfree packages
|
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nix = let
|
nix = {
|
||||||
flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
|
|
||||||
in {
|
|
||||||
|
|
||||||
settings = {
|
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
|
# Workaround for https://github.com/NixOS/nix/issues/9574
|
||||||
nix-path = config.nix.nixPath;
|
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; [
|
environment.systemPackages = with pkgs; [
|
||||||
wget
|
wget
|
||||||
libGL
|
libGL
|
||||||
|
@ -90,7 +76,7 @@
|
||||||
|
|
||||||
documentation = {
|
documentation = {
|
||||||
dev.enable = true;
|
dev.enable = true;
|
||||||
man.generateCaches = false;
|
man.generateCaches = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
|
@ -553,10 +539,6 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#do not change
|
#do not change
|
||||||
system.stateVersion = "24.05";
|
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