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