diff --git a/flake.lock b/flake.lock index c3128022..67fa777f 100644 --- a/flake.lock +++ b/flake.lock @@ -21,7 +21,7 @@ }, "devshell_2": { "inputs": { - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_4", "nixpkgs": [ "nixvim", "nixpkgs" @@ -78,6 +78,21 @@ } }, "flake-compat": { + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { "locked": { "lastModified": 1696426674, "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", @@ -91,7 +106,7 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, - "flake-compat_2": { + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1696426674, @@ -183,6 +198,24 @@ "inputs": { "systems": "systems_3" }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { + "inputs": { + "systems": "systems_4" + }, "locked": { "lastModified": 1701680307, "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", @@ -199,7 +232,7 @@ }, "git-hooks": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "gitignore": "gitignore", "nixpkgs": [ "nixvim", @@ -302,6 +335,32 @@ "type": "github" } }, + "nix-alien": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": "flake-utils_3", + "nix-filter": "nix-filter", + "nix-index-database": "nix-index-database", + "nixpkgs": [ + "nix-alien", + "nix-index-database", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1715754082, + "narHash": "sha256-2hAydsdMk6QmDar+16ryyn+pVksxudwC5vRiatJbysM=", + "owner": "thiagokokada", + "repo": "nix-alien", + "rev": "ea6ebda03c5537eebbb93af57ca6f2c2979981be", + "type": "github" + }, + "original": { + "owner": "thiagokokada", + "repo": "nix-alien", + "type": "github" + } + }, "nix-darwin": { "inputs": { "nixpkgs": [ @@ -323,6 +382,21 @@ "type": "github" } }, + "nix-filter": { + "locked": { + "lastModified": 1710156097, + "narHash": "sha256-1Wvk8UP7PXdf8bCCaEoMnOT1qe5/Duqgj+rL8sRQsSM=", + "owner": "numtide", + "repo": "nix-filter", + "rev": "3342559a24e85fc164b295c3444e8a139924675b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "nix-filter", + "type": "github" + } + }, "nix-flatpak": { "locked": { "lastModified": 1711997201, @@ -339,6 +413,24 @@ "type": "github" } }, + "nix-index-database": { + "inputs": { + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1715483403, + "narHash": "sha256-WMDuQj7J5jbpXI/X/E6FZRKgBFGcaSTvYyVxPnKE6KU=", + "owner": "nix-community", + "repo": "nix-index-database", + "rev": "f9027322f48b427da23746aa359a6510dfcd0228", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-index-database", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1704161960, @@ -388,6 +480,22 @@ } }, "nixpkgs_3": { + "locked": { + "lastModified": 1715266358, + "narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "f1010e0469db743d14519a1efd37e23f8513d714", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { "locked": { "lastModified": 1717196966, "narHash": "sha256-yZKhxVIKd2lsbOqYd5iDoUIwsRZFqE87smE2Vzf6Ck0=", @@ -403,7 +511,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { "lastModified": 1716769173, "narHash": "sha256-7EXDb5WBw+d004Agt+JHC/Oyh/KTUglOaQ4MNjBbo5w=", @@ -422,13 +530,13 @@ "nixvim": { "inputs": { "devshell": "devshell_2", - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-parts": "flake-parts", "flake-root": "flake-root", "git-hooks": "git-hooks", "home-manager": "home-manager_2", "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_5", "treefmt-nix": "treefmt-nix" }, "locked": { @@ -467,8 +575,9 @@ "firefox-gnome-theme": "firefox-gnome-theme", "hardware": "hardware", "home-manager": "home-manager", + "nix-alien": "nix-alien", "nix-flatpak": "nix-flatpak", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "nixvim": "nixvim", "nur": "nur" } @@ -518,6 +627,21 @@ "type": "github" } }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ diff --git a/flake.nix b/flake.nix index f2fd8fc8..af50eaa3 100644 --- a/flake.nix +++ b/flake.nix @@ -21,6 +21,7 @@ devshell.url = "github:numtide/devshell"; nixvim.url = "github:nix-community/nixvim"; nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1"; + nix-alien.url = "github:thiagokokada/nix-alien"; # musnix.url = "github:musnix/musnix"; # nixified-ai.url = "github:nixified-ai/flake"; # nixos-conf-editor.url = "github:vlinkz/nixos-conf-editor"; diff --git a/home/christoph/default.nix b/home/christoph/default.nix index 1792f1f5..3883667d 100644 --- a/home/christoph/default.nix +++ b/home/christoph/default.nix @@ -15,6 +15,7 @@ # This is a module # Because no imports/options/config is defined explicitly, everything is treated as config # { inputs, lib, ... }: { ... } gets turned into { inputs, lib, ... }: { config = { ... }; } implicitly +# TODO: Add nixified.ai module rec { # Every module is a nix expression, specifically a function { inputs, lib, ... }: { ... } # Every module (/function) is called with the same arguments as this module (home.nix) @@ -131,10 +132,13 @@ rec { "jetbrains-idea" "jetbrains-pycharm" "jetbrains-rustrover" + "jetbrains-rider" "code-url-handler" ]; "3" = [ "obsidian" + "unityhub" + "Unity" ]; "4" = [ "firefox" @@ -172,6 +176,7 @@ rec { "jetbrains-idea" "jetbrains-pycharm" "jetbrains-rustrover" + "jetbrains-rider" "code-url-handler" "neovide" ]; @@ -179,37 +184,12 @@ rec { kitty.enable = true; - misc = { - enable = true; - - keepass = { - enable = true; - autostart = false; # TODO: This option should use hyprland module - }; - - protonmail = { - enable = true; - autostart = false; # TODO: This option should use hyprland module - }; - }; - neovim = { enable = true; alias = true; neovide = true; }; - # lazyvim = { - # enable = true; - # alias = true; - # neovide = true; - # }; - - nextcloud = { - enable = true; - autostart = false; # TODO: This option should use hyprland module - }; - nnn.enable = true; # ranger = { @@ -230,51 +210,23 @@ rec { }; }; - manual.manpages.enable = true; - manual.html.enable = true; + manual = { + manpages.enable = true; + html.enable = false; + }; # Make fonts installed through user packages available to applications # NOTE: I don't think I need this anymore as all fonts are installed through the system config but let's keep this just in case fonts.fontconfig.enable = true; # Also updates the font-cache - # Generate a list of installed user packages in ~/.local/share/current-user-packages - home.file.".local/share/current-user-packages".text = let - packages = builtins.map (p: "${p.name}") home.packages; - sortedUnique = builtins.sort builtins.lessThan (lib.unique packages); - formatted = builtins.concatStringsSep "\n" sortedUnique; - in - formatted; - - home.file.".config/mpv" = { - recursive = true; - source = ../../config/mpv; - }; - - # TODO: Latex module - home.file."texmf/tex/latex/custom/christex.sty".source = ../../config/latex/christex.sty; - home.file."Notes/Obsidian/Chriphost/christex.sty".source = ../../config/latex/christex.sty; # For obsidian notes - home.file.".indentconfig.yaml".source = ../../config/latex/.indentconfig.yaml; - home.file.".indentsettings.yaml".source = ../../config/latex/.indentsettings.yaml; - # TODO: Use mkLink - # home.file."Notes/Obsidian/Chriphost/latex_snippets.json".source = ../../config/obsidian/latex_snippets.json; - home.file."Notes/Obsidian/Chriphost/.obsidian/snippets/latex_preview.css".source = ../../config/obsidian/css_snippets/latex_preview.css; - - # TODO: If navi enabled - # TODO: Symlink this, so the config doesn't have to be rebuilt every time - home.file.".local/share/navi/cheats/christoph.cheat".source = ../../config/navi/christoph.cheat; - - home.activation = { - linkObsidianLatexSnippets = - lib.hm.dag.entryAfter ["writeBoundary"] - (mylib.modules.mkLink "~/NixFlake/config/obsidian/latex_snippets.json" "~/Notes/Obsidian/Chriphost/latex_snippets.json"); - }; - - xdg.mime.enable = true; - xdg.mimeApps = { - enable = true; - associations.added = nixosConfig.xdg.mime.addedAssociations; - associations.removed = nixosConfig.xdg.mime.removedAssociations; - inherit (nixosConfig.xdg.mime) defaultApplications; # Equal to "defaultApplications = nixosConfig.xdg.mime.defaultApplications" + xdg = { + mime.enable = true; + mimeApps = { + enable = true; + associations.added = nixosConfig.xdg.mime.addedAssociations; + associations.removed = nixosConfig.xdg.mime.removedAssociations; + inherit (nixosConfig.xdg.mime) defaultApplications; # Equal to "defaultApplications = nixosConfig.xdg.mime.defaultApplications" + }; }; home = { @@ -306,147 +258,162 @@ rec { # WINEFSYNC = 1; # WINEPREFIX = "/home/christoph/.wine"; - # NOTE: GTK_IM_MODULE, QT_IM_MODULE, XMODIFIERS are set by HomeManager fcitx5 module + # GTK_IM_MODULE, QT_IM_MODULE, XMODIFIERS are set by HomeManager fcitx5 module }; + file = { + # Generate a list of installed user packages in ~/.local/share/current-user-packages + ".local/share/current-user-packages".text = let + packages = builtins.map (p: "${p.name}") home.packages; + sortedUnique = builtins.sort builtins.lessThan (lib.unique packages); + formatted = builtins.concatStringsSep "\n" sortedUnique; + in + formatted; + + ".config/mpv" = { + recursive = true; + source = ../../config/mpv; + }; + + # TODO: Latex module + "texmf/tex/latex/custom/christex.sty".source = ../../config/latex/christex.sty; + "Notes/Obsidian/Chriphost/christex.sty".source = ../../config/latex/christex.sty; # For obsidian notes + ".indentconfig.yaml".source = ../../config/latex/.indentconfig.yaml; + ".indentsettings.yaml".source = ../../config/latex/.indentsettings.yaml; + # TODO: Use mkLink + # "Notes/Obsidian/Chriphost/latex_snippets.json".source = ../../config/obsidian/latex_snippets.json; + "Notes/Obsidian/Chriphost/.obsidian/snippets/latex_preview.css".source = ../../config/obsidian/css_snippets/latex_preview.css; + + # TODO: If navi enabled + # TODO: Symlink this, so the config doesn't have to be rebuilt every time + ".local/share/navi/cheats/christoph.cheat".source = ../../config/navi/christoph.cheat; + }; + + activation = { + linkObsidianLatexSnippets = + lib.hm.dag.entryAfter ["writeBoundary"] + (mylib.modules.mkLink "~/NixFlake/config/obsidian/latex_snippets.json" "~/Notes/Obsidian/Chriphost/latex_snippets.json"); + }; + + # TODO: Make a module for standard UNIX replacements + # Add stuff for your user as you see fit: + packages = with pkgs; [ + # Shell utils + (ripgrep.override {withPCRE2 = true;}) # fast as fuck + gdu # Alternative to du-dust (I like it better) + duf # Disk usage analyzer (for all disk overview) + sd # sed alternative + fclones # duplicate file finder + tealdeer # very fast tldr (so readable man) + atool # Archive preview + ffmpegthumbnailer # Video thumbnails + mediainfo + tree # Folder preview + unrar + p7zip + unzip + progress + tokei # Text file statistics in a project + appimage-run + nvd # nix rebuild diff + file + # spotdl # TODO: Borked + + # Hardware/Software info + pciutils # lspci + glxinfo # opengl info + wayland-utils # wayland-info + aha # ansi html adapter? TODO: Why did I install this? + clinfo # OpenCL info + vulkan-tools # vulkaninfo + libva-utils # vainfo + vdpauinfo + hwloc + lm_sensors + acpica-tools # Dump ACPI tables etc. + + # Video/Image utils + ffmpeg_5-full # I love ffmpeg (v5, including ffplay) + ffmpeg-normalize + imagemagick # Convert image (magic) + ueberzugpp # Display images in terminal (alacritty) + + # Document utils + # TODO: Latex module with individual packages or HomeManager + texlive.combined.scheme-full + poppler_utils # pdfunite + graphviz # generate graphs from code + plantuml + gnuplot # generate function plots + pdf2svg + pandoc # document converting madness + inkscape # for latex + + # Networking + dig + tcpdump + traceroute + wireshark + gping # ping with graph + curlie # curl a'la httpie + wget # download that shit + dogdns # dns client + rsync # cp on steroids + rclone # Rsync for cloud + httpie # Cool http client + # suricata + cifs-utils # Mount samba shares + nfs-utils + sshfs + protonvpn-cli + + # GUI apps + vlc + cool-retro-term + ventoy-full # Bootable USB for many ISOs + sqlitebrowser # To modify tables + dbeaver-bin # To import/export data + diagrams + hoppscotch # Test APIs + # decker # TODO: Build failure + signal-desktop + filezilla + anki + # octave # GNU matlab basically + font-manager + nextcloud-client + keepassxc + protonmail-bridge + + # Office + wacomtablet # For xournalpp/krita + xournalpp # Write with a pen, like old people + # libreoffice-qt + hunspell # I cna't type + hunspellDicts.en_US + hunspellDicts.de_DE + obsidian # knowledge-base + # logseq # knowledge-base + + # TODO: Module, I need to add python packages from multiple modules to the same interpreter + python312 + jetbrains.clion + jetbrains.rust-rover + jetbrains.pycharm-professional + jetbrains.idea-ultimate + + AusweisApp2 + + # Use NixCommunity binary cache + cachix + + # Generate documentation + # modules-options-doc + ]; + # Do not change stateVersion = "22.05"; }; - # TODO: Split this more between laptop and desktop... - # TODO: Make a module for standard UNIX replacements - # Add stuff for your user as you see fit: - home.packages = with pkgs; [ - # Shell utils - (ripgrep.override {withPCRE2 = true;}) # fast as fuck - gdu # Alternative to du-dust (I like it better) - duf # Disk usage analyzer (for all disk overview) - sd # sed alternative - fclones # duplicate file finder - tealdeer # very fast tldr (so readable man) - atool # Archive preview - ffmpegthumbnailer # Video thumbnails - mediainfo - tree # Folder preview - unrar - p7zip - unzip - progress - tokei # Text file statistics in a project - appimage-run - nvd # nix rebuild diff - file - # spotdl # TODO: Borked - - # Hardware/Software info - pciutils # lspci - glxinfo # opengl info - wayland-utils # wayland-info - aha # ansi html adapter? TODO: Why did I install this? - clinfo # OpenCL info - vulkan-tools # vulkaninfo - libva-utils # vainfo - vdpauinfo - hwloc - lm_sensors - acpica-tools # Dump ACPI tables etc. - - # Video/Image utils - ffmpeg_5-full # I love ffmpeg (v5, including ffplay) - ffmpeg-normalize - x265 - imagemagick # Convert image (magic) - ueberzugpp # Display images in terminal (alacritty) - - # Document utils - # TODO: Latex module with individual packages or HomeManager - texlive.combined.scheme-full - poppler_utils # pdfunite - graphviz # generate graphs from code - plantuml - gnuplot # generate function plots - pdf2svg - pandoc # document converting madness - - # Networking - dig - tcpdump - traceroute - wireshark - gping # ping with graph - curlie # curl a'la httpie - wget # download that shit - dogdns # dns client - rsync # cp on steroids - rclone # Rsync for cloud - httpie # Cool http client - # suricata - cifs-utils # Mount samba shares - nfs-utils - sshfs - protonvpn-cli - - # GUI apps - vlc - cool-retro-term - ventoy-full # Bootable USB for many ISOs - # spotify # Uses flatpak - sqlitebrowser # To modify tables - dbeaver-bin # To import/export data + diagrams - hoppscotch # Test APIs - # decker # TODO: Build failure - signal-desktop - filezilla - # calibre # Do I even read - # virt-manager - # gource # Visualize git commit log, completely useless - # anki-bin # Use anki-bin as anki is some versions behind NOTE: anki-bin doesn't support fcitx5 :( - anki - # inputs.nixos-conf-editor.packages."x86_64-linux".nixos-conf-editor - # octave # GNU matlab basically - # logisim-evolution # Digital circuit simulator - # digital # Digital circuit simulator - # okteta # hex editor - # kdiff3 # diff/patch tool - font-manager - - # Office - # sioyek # Scientific pdf reader # HM program - xournalpp # Write with a pen, like old people - # libreoffice-qt - hunspell # I cna't type - hunspellDicts.en_US - hunspellDicts.de_DE - obsidian # knowledge-base - # logseq # knowledge-base - - # TODO: Module, I need to add python packages from multiple modules to the same interpreter - python312 - jetbrains.clion - jetbrains.rust-rover - jetbrains.pycharm-professional - jetbrains.idea-ultimate - - # Media - wacomtablet - # blender - # godot_4 - obs-studio - # vlc # Addition to mpv without any shaders etc - kdenlive - krita - inkscape - # handbrake - # makemkv - AusweisApp2 - - # Use NixCommunity binary cache - cachix - - # Generate documentation - # modules-options-doc - ]; - # home.file.".options-doc".source = "${pkgs.modules-options-doc}"; # Packages with extra options managed by HomeManager natively diff --git a/home/christoph/nixinator/default.nix b/home/christoph/nixinator/default.nix index d3e4ca33..bd0c3dac 100644 --- a/home/christoph/nixinator/default.nix +++ b/home/christoph/nixinator/default.nix @@ -1,5 +1,5 @@ # Here goes the stuff that will only be enabled on the desktop -{...}: { +{pkgs, ...}: { imports = [ ../../modules ]; @@ -48,53 +48,29 @@ ]; }; - # audio = { - # enable = false; - - # carla.enable = false; - # bitwig.enable = true; # TODO: Check what happens when upgrade plan ends, do I need to pin the version then? - # tenacity.enable = true; - - # faust.enable = true; - # bottles.enable = false; - # yabridge.enable = true; - # yabridge.autoSync = true; - - # noisesuppression = { - # noisetorch.enable = false; - # noisetorch.autostart = false; - # easyeffects.enable = false; - # easyeffects.autostart = false; - # }; - - # cardinal.enable = true; - # distrho.enable = true; - # }; - - # gaming = { - # enable = false; - - # prism.enable = true; - # bottles.enable = false; - # cemu.enable = true; - # # TODO: Webcord - # # discordChromium.enable = false; - # # discordElectron.enable = false; # This is the nixpkgs version, prefer the one from flatpak module - # # dwarffortress.enable = false; - - # steam = { - # enable = true; - # gamescope = true; - # adwaita = false; - # protonup = true; - # }; - # }; - + # TODO: Also set the dunst monitor waybar.monitor = "HDMI-A-1"; }; - # home.packages = with pkgs; [ - # quartus-prime-lite # Intel FPGA design software - # ]; + home.packages = with pkgs; [ + # quartus-prime-lite # Intel FPGA design software + + unityhub + jetbrains.rider + (with dotnetCorePackages; + combinePackages [ + sdk_6_0_1xx + sdk_7_0_3xx + sdk_8_0_2xx + ]) # For Rider/Unity + mono # For Rider/Unity + + blender + # godot_4 + obs-studio + kdenlive + krita + # makemkv + ]; }; } diff --git a/home/modules/default.nix b/home/modules/default.nix index 6140c446..a42d59fd 100644 --- a/home/modules/default.nix +++ b/home/modules/default.nix @@ -1,19 +1,19 @@ {inputs, ...}: { imports = [ - ./audio + # ./audio ./chromium ./emacs ./email ./firefox ./fish - ./flatpak - ./gaming + # ./flatpak + # ./gaming ./helix ./hyprland ./kitty - ./misc + # ./misc ./neovim - ./nextcloud + # ./nextcloud ./nnn ./ranger ./rofi diff --git a/home/modules/email/default.nix b/home/modules/email/default.nix index f89f2909..bbaf69b2 100644 --- a/home/modules/email/default.nix +++ b/home/modules/email/default.nix @@ -1,7 +1,8 @@ # Example: https://beb.ninja/post/email/ # Example: https://sbr.pm/configurations/mails.html +# TODO: Protonmail-bridge +# TODO: Change to use thunderbird only # NOTE: The passwords must exist in kwallet -# TODO: Emacs mail config { config, nixosConfig, diff --git a/home/modules/misc/default.nix b/home/modules/misc/default.nix index c22c0732..494c55b8 100644 --- a/home/modules/misc/default.nix +++ b/home/modules/misc/default.nix @@ -6,6 +6,7 @@ pkgs, ... }: +# TODO: Remove this module, put protonmail into the email module with lib; with mylib.modules; let cfg = config.modules.misc; diff --git a/home/modules/nextcloud/default.nix b/home/modules/nextcloud/default.nix index 2e7bed95..1bbeea6b 100644 --- a/home/modules/nextcloud/default.nix +++ b/home/modules/nextcloud/default.nix @@ -1,5 +1,6 @@ # Changed from https://github.com/nix-community/home-manager/blob/master/modules/services/nextcloud-client.nix # I use this instead of the HM module as the autostart wasn't working there +# TODO: Remove this module # TODO: Check the HM module again if anything changed, as this has also stopped working # Nextcloud immediately crashes on start, autostart isn't working either... { diff --git a/lib/nixos.nix b/lib/nixos.nix index a1f06ac8..1b6f0ff9 100644 --- a/lib/nixos.nix +++ b/lib/nixos.nix @@ -18,7 +18,7 @@ in { # Make our inputs available to the configuration.nix (for importing modules) # specialArgs are propagated to all modules - specialArgs = {inherit inputs hostname username mylib;}; + specialArgs = {inherit inputs hostname username mylib system;}; modules = builtins.concatLists [ [ diff --git a/shell.nix b/shell.nix index ab48d871..64f0a4f9 100644 --- a/shell.nix +++ b/shell.nix @@ -62,12 +62,12 @@ pkgs.devshell.mkShell { } # Nix Store - { - name = "store-gc"; - help = "Run NixOS garbage collector"; - # command = "nix-store --gc && sudo nix-collect-garbage -d && flatpak uninstall --unused"; - command = "nh clean all"; - } + # { + # name = "store-gc"; + # help = "Run NixOS garbage collector"; + # # command = "nix-store --gc && sudo nix-collect-garbage -d && flatpak uninstall --unused"; + # command = "nh clean all"; + # } { name = "store-optimise"; help = "Run NixOS store optimization (slow)"; diff --git a/system/default.nix b/system/default.nix index 0c9be6c8..e58f4a66 100644 --- a/system/default.nix +++ b/system/default.nix @@ -8,6 +8,7 @@ mylib, config, pkgs, + system, ... }: with mylib.networking; { @@ -317,6 +318,10 @@ with mylib.networking; { man-pages man-pages-posix + # Sets NIX_LD_LIBRARY_PATH and NIX_LD variables for nix-ld + # Start dynamically linked executable using "nix-alien-ld -- " + inputs.nix-alien.packages.${system}.nix-alien + # egl-wayland ]; @@ -342,18 +347,13 @@ with mylib.networking; { fish.enable = true; firejail.enable = true; # Use to run app in network namespace (e.g. through vpn) git.enable = true; - kdeconnect.enable = true; # Use this instead of HM for firewall setup + kdeconnect.enable = false; # Use this instead of HM for firewall setup neovim.enable = true; starship.enable = true; thefuck.enable = true; xwayland.enable = true; - - fuse.userAllowOther = true; # Allow users to mount e.g. samba shares (cifs) - - hyprland = { - enable = true; - # enableNvidiaPatches = false; # NOTE: Enabled only in nixinator config - }; + nix-ld.enable = true; # Load dynamically linked executables + hyprland.enable = true; nh = { enable = true; @@ -362,6 +362,7 @@ with mylib.networking; { flake = "/home/christoph/NixFlake"; }; + fuse.userAllowOther = true; # Allow users to mount e.g. samba shares (cifs) # ausweisapp.openFirewall = true; # Directly set port in firewall }; diff --git a/system/nixinator/default.nix b/system/nixinator/default.nix index 7fdea99c..d170ff2c 100644 --- a/system/nixinator/default.nix +++ b/system/nixinator/default.nix @@ -70,10 +70,6 @@ }; }; - programs.hyprland = { - # enableNvidiaPatches = true; # NOTE: Deprecated - }; - # Low latency audio # musnix = { # enable = true; diff --git a/system/nixtop/default.nix b/system/nixtop/default.nix index 5c4f08ee..324dccf9 100644 --- a/system/nixtop/default.nix +++ b/system/nixtop/default.nix @@ -27,10 +27,6 @@ programs.light.enable = true; - programs.hyprland = { - # enableNvidiaPatches = false; # NOTE: Deprecated - }; - services.xserver = { # Configure keymap in X11 xkb.layout = "de";