diff --git a/README.md b/README.md index e89092a9..114e55a7 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ I heavily borrowed from: - [hlissner](https://github.com/hlissner/dotfiles) - [misterio77](https://github.com/Misterio77/nix-config) -# ./nixos +# ./system This folder contains all the system configurations. @@ -27,3 +27,10 @@ This folder contains all the home-manager configurations. When creating a NixOS configuration inside the ``NixFlake/flake.nix`` the common configuration is imported. Because the hostname is propagated to the common configuration, it can import the host-specific config by itself. + +# Notes + +- I didn't organize the modules in folders with a ``default.nix`` for every module as this reduces readability +- Modules are split into system modules and home modules +- The ``NixFlake/overlays/default.nix`` imports all the derivations +- ``NixFlake/config`` contains all the dotfiles that are symlinked by HomeManager \ No newline at end of file diff --git a/derivations/default.nix b/derivations/default.nix index 36fac187..a5f448dd 100644 --- a/derivations/default.nix +++ b/derivations/default.nix @@ -1,5 +1,5 @@ { pkgs }: { - vital-synth = pkgs.callPackage ./vital-synth {}; + # vital-synth = pkgs.callPackage ./vital-synth {}; # Kept as an example, don't know if I will fix this or keep using distrho } \ No newline at end of file diff --git a/derivations/vital-synth/default.nix b/derivations/vital-synth/default.nix index 3701c053..63d4a8c6 100644 --- a/derivations/vital-synth/default.nix +++ b/derivations/vital-synth/default.nix @@ -1,3 +1,5 @@ +# Has a problem with vertically offset UI, replaced by distrho for now but kept as an example + # Damn I hate this style { lib , stdenv @@ -62,8 +64,6 @@ in stdenv.mkDerivation rec { alsa-lib freetype gcc.cc.lib gcc.cc glib glibc curlWithGnuTls libGL libglvnd libsecret ]; - # TODO: Somehow/somehwere (in HomeManager?) we need to make a link to ~/.vst3 - # Copy the contents of the .deb package to the $out directory that nix creates for built derivations # Very simple as the vital .deb has a very basic format (only [ usr/bin usr/lib usr/share ]) installPhase = '' diff --git a/home/modules/audio.nix b/home/modules/audio.nix index 965f7f7b..ee37a50d 100644 --- a/home/modules/audio.nix +++ b/home/modules/audio.nix @@ -24,7 +24,7 @@ in { # Instruments/Plugins vcvrack.enable = mkEnableOpt "VCV-Rack (Eurorack simulator)"; -# vital.enable = mkEnableOpt "Vital (Wavetable synthesizer)"; + # vital.enable = mkEnableOpt "Vital (Wavetable synthesizer)"; # Replaced by distrho distrho.enable = mkEnableOpt "Distrho (Linux VST ports)"; # Misc @@ -95,7 +95,7 @@ in { (optionals cfg.noisesuppression.noisetorch.enable [ noisetorch ]) (optionals cfg.vcvrack.enable [ vcv-rack ]) -# (optionals cfg.vital.enable [ vital-synth ]) + # (optionals cfg.vital.enable [ vital-synth ]) # Replaced by distrho (optionals cfg.distrho.enable [ distrho ]) ]; @@ -159,14 +159,15 @@ in { (mkUnlink "${config.home.homeDirectory}/.config/carla"); }) -# (mkIf cfg.vital.enable { -# linkVitalVST3 = hm.dag.entryAfter [ "writeBoundary" ] -# (mkLink "${pkgs.vital-synth}/lib/vst3/Vital.vst3" "${config.home.homeDirectory}/.vst3/Vital.vst3"); -# }) -# (mkElse cfg.vital.enable { -# unlinkVitalVST3 = hm.dag.entryAfter [ "writeBoundary" ] -# (mkUnlink "${config.home.homeDirectory}/.vst3/Vital.vst3"); -# }) + # Replaced by distrho + # (mkIf cfg.vital.enable { + # linkVitalVST3 = hm.dag.entryAfter [ "writeBoundary" ] + # (mkLink "${pkgs.vital-synth}/lib/vst3/Vital.vst3" "${config.home.homeDirectory}/.vst3/Vital.vst3"); + # }) + # (mkElse cfg.vital.enable { + # unlinkVitalVST3 = hm.dag.entryAfter [ "writeBoundary" ] + # (mkUnlink "${config.home.homeDirectory}/.vst3/Vital.vst3"); + # }) (mkIf cfg.distrho.enable { linkDistrhoLV2 = hm.dag.entryAfter [ "writeBoundary" ] diff --git a/home/modules/emacs.nix b/home/modules/emacs.nix index 94e733a0..0d2c05ed 100644 --- a/home/modules/emacs.nix +++ b/home/modules/emacs.nix @@ -18,6 +18,8 @@ in { # This module defines only the "emacs" option and suboptions "enable" and "doom" options.modules.emacs = { enable = mkEnableOpt "Emacs module"; + + # TODO: Use an enum for this not individual options nativeComp = mkBoolOpt false "Use Emacs 28.x branch with native comp support"; pgtkNativeComp = mkBoolOpt false "Use Emacs 29.x branch with native comp and pure gtk support"; diff --git a/home/modules/flatpak.nix b/home/modules/flatpak.nix index 4a8b0489..3f6d5773 100644 --- a/home/modules/flatpak.nix +++ b/home/modules/flatpak.nix @@ -7,8 +7,6 @@ with mylib.modules; # It is important that every flatpak interaction is handled through this module # to prevent that anything is removed by a module although it is required by another one -# TODO: Also need a library function to enable and concatenate different flatpak overrides (also global overrides) - let cfg = config.modules.flatpak; in { @@ -78,11 +76,12 @@ in { { ".local/share/flatpak/overrides/global".text = let default_overrides = [ + "/nix/store:ro" + # These are not necessary # Make sure flatpaks are allowed to use the icons/fonts that are symlinked by icon/font fix # "/run/current-system/sw/share/X11/fonts:ro" # "/run/current-system/sw/share/icons:ro" - "/nix/store:ro" ]; all_overrides = builtins.concatLists [ default_overrides cfg.extraGlobalOverride ];