diff --git a/configuration.nix b/configuration.nix index 40df3f9..9a194eb 100644 --- a/configuration.nix +++ b/configuration.nix @@ -9,6 +9,8 @@ ./hardware-configuration.nix ]; + services.flatpak.enable = true; + environment.variables.HYPRCURSOR_THEME = "McMojave"; programs.steam = { @@ -70,7 +72,7 @@ # services.printing.enable = true; # Enable sound. - hardware.pulseaudio = { + services.pulseaudio = { enable = true; support32Bit = true; }; @@ -111,13 +113,19 @@ extraGroups = [ "wheel" # Enable ‘sudo’ for the user. "docker" + "libvirtd" ]; }; fonts.packages = with pkgs; [ - nerdfonts # font + pkgs.nerd-fonts.jetbrains-mono ]; + programs.streamdeck-ui = { + enable = true; + autoStart = true; # optional + }; + # List packages installed in system profile. To search, run: # $ nix search wget environment.shells = with pkgs; [ zsh ]; @@ -134,7 +142,7 @@ # for neovim pkgs.gcc pkgs.nodejs_22 - pkgs.python313 + pkgs.python314 pkgs.cargo pkgs.go @@ -163,6 +171,7 @@ pkgs.rofi-wayland pkgs.waybar pkgs.hyprlock + pkgs.hypridle pkgs.hyprpaper pkgs.kanshi @@ -183,12 +192,22 @@ export VK_ICD_FILENAMES=${config.hardware.nvidia.package}/share/vulkan/icd.d/nvidia_icd.json:${config.hardware.nvidia.package.lib32}/share/vulkan/icd.d/nvidia_icd32.json:$VK_ICD_FILENAMES ''; }) + + pkgs.virt-manager + pkgs.virt-viewer + pkgs.spice + pkgs.spice-gtk + pkgs.spice-protocol + + ]; - programs.nix-ld.libraries = with pkgs; [ - pkgs.lua-language-server - pkgs.lua - ]; + programs.nix-ld = { + libraries = [ + pkgs.lua-language-server + pkgs.lua + ]; + }; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. @@ -209,7 +228,18 @@ allowedUDPPorts = [ 53317 ]; }; - virtualisation.libvirtd.enable = true; + virtualisation = { + spiceUSBRedirection.enable = true; + libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull.fd ]; + }; + }; + }; + programs.virt-manager.enable = true; # Copy the NixOS configuration file and link it from the resulting system diff --git a/eFisc/default.nix b/eFisc/default.nix new file mode 100644 index 0000000..5bf2b55 --- /dev/null +++ b/eFisc/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, dpkg }: + +stdenv.mkDerivation rec { + pname = "efisc"; + version = "1.0.8-62"; + year = "2024"; + + src = fetchurl { + url = "https://efisc.kttg.ch/update/${pname}/${year}/${pname}${year}_${version}_amd64.deb"; + #https://efisc.kttg.ch/update/eFisc/2024/efisc2024_1.0.8-62_amd64.deb + sha256 = "sha256-sMMpGnmDOwU/3On0XFdSbrfXj3/6oK6FBrXo2DIMCCQ="; + }; + + dontBuild = true; + buildInputs = [ dpkg ]; + + unpackPhase = '' + dpkg-deb -x $src $pname + ''; + + installPhase = '' + cp -r ${pname} $out + cd $out/usr/share/ + sed -i "s|Icon=|Icon=$out|" applications/efisc2024.desktop + sed -i "s|Exec=|Exec=$out|" applications/efisc2024.desktop + + sed -i "s|/usr|$out/usr|" efisc2024/efisc2024.sh + ''; +} diff --git a/flake.lock b/flake.lock index 842d620..9ced241 100644 --- a/flake.lock +++ b/flake.lock @@ -1,12 +1,15 @@ { "nodes": { "catppuccin": { + "inputs": { + "nixpkgs": "nixpkgs" + }, "locked": { - "lastModified": 1731232837, - "narHash": "sha256-0aIwr/RC/oe7rYkfJb47xjdEQDSNcqpFGsEa+EPlDEs=", + "lastModified": 1741641627, + "narHash": "sha256-AkMboWm5a666QLh8ioLJaZlaee7oBOvkbjZZSVTU17Q=", "owner": "catppuccin", "repo": "nix", - "rev": "32359bf226fe874d3b7a0a5753d291a4da9616fe", + "rev": "4f56f4da1d6927eca769b78b1e22fcefd5ffaa73", "type": "github" }, "original": { @@ -15,22 +18,6 @@ "type": "github" } }, - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -38,11 +25,11 @@ ] }, "locked": { - "lastModified": 1731968878, - "narHash": "sha256-+hTCwETOE9N8voTAaF+IzdUZz28Ws3LDpH90FWADrEE=", + "lastModified": 1741635347, + "narHash": "sha256-2aYfV44h18alHXopyfL4D9GsnpE5XlSVkp4MGe586VU=", "owner": "nix-community", "repo": "home-manager", - "rev": "a42fa14b53ceab66274a21da480c9f8e06204173", + "rev": "7fb8678716c158642ac42f9ff7a18c0800fea551", "type": "github" }, "original": { @@ -135,7 +122,7 @@ "mcmojave-hyprcursor": { "inputs": { "hyprcursor": "hyprcursor", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "systems": "systems_2" }, "locked": { @@ -159,11 +146,11 @@ ] }, "locked": { - "lastModified": 1728031945, - "narHash": "sha256-NRkLjdMtVfC6dD1gEbYZWFEtbmC2xfD6ft1IP7l76Vw=", + "lastModified": 1741597901, + "narHash": "sha256-nLUTgXXcFFz+3pd3Khz1H4jUECqX5+OapNPGioPJRQs=", "owner": "Mic92", "repo": "nix-ld", - "rev": "4524c512e8729ccb5a1b9239d01e1474cbf074a2", + "rev": "8e0308dd7dd9cd3656866fb2387bc29052fd6d3a", "type": "github" }, "original": { @@ -173,6 +160,22 @@ } }, "nixpkgs": { + "locked": { + "lastModified": 1741246872, + "narHash": "sha256-Q6pMP4a9ed636qilcYX8XUguvKl/0/LGXhHcRI91p0U=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "10069ef4cf863633f57238f179a0297de84bd8d3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1722062969, "narHash": "sha256-QOS0ykELUmPbrrUGmegAUlpmUFznDQeR4q7rFhl8eQg=", @@ -188,13 +191,13 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs_3": { "locked": { - "lastModified": 1731676054, - "narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=", + "lastModified": 1741513245, + "narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add", + "rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1", "type": "github" }, "original": { @@ -204,29 +207,46 @@ "type": "github" } }, + "nixpkgs_4": { + "locked": { + "lastModified": 1735471104, + "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "catppuccin": "catppuccin", "home-manager": "home-manager", "mcmojave-hyprcursor": "mcmojave-hyprcursor", "nix-ld": "nix-ld", - "nixpkgs": "nixpkgs_2", - "spicetify-nix": "spicetify-nix" + "nixpkgs": "nixpkgs_3", + "spicetify-nix": "spicetify-nix", + "zen-browser": "zen-browser" } }, "spicetify-nix": { "inputs": { - "flake-compat": "flake-compat", "nixpkgs": [ "nixpkgs" - ] + ], + "systems": "systems_3" }, "locked": { - "lastModified": 1731989835, - "narHash": "sha256-Y1S+x2jWLQB9hn4aG04/213ZlTp+30itKe9KcSsrFgw=", + "lastModified": 1741493656, + "narHash": "sha256-1M2mf5pZTlhZXkSI8wKs9GfNb1hllND58zQUYSAe8EA=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "aac6c81489f61034916efa4ed62840dc1d72c413", + "rev": "a06e502c884307c33dbdf2017fd50ab3592ad868", "type": "github" }, "original": { @@ -264,6 +284,39 @@ "repo": "default-linux", "type": "github" } + }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "zen-browser": { + "inputs": { + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1741554872, + "narHash": "sha256-A/Iim9o0hHJjDJVynwtLzkox7NquvPc8CsJ/8OB4dDw=", + "owner": "0xc000022070", + "repo": "zen-browser-flake", + "rev": "a4408170c5a2168bb79abcf587c5072e2ee5fb90", + "type": "github" + }, + "original": { + "owner": "0xc000022070", + "repo": "zen-browser-flake", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 53bf59a..c25844b 100644 --- a/flake.nix +++ b/flake.nix @@ -3,6 +3,7 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + #nixpkgs.url = "github:NixOS/nixpkgs/release-24.11"; home-manager.url = "github:nix-community/home-manager/master"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; catppuccin.url = "github:catppuccin/nix"; @@ -14,9 +15,10 @@ nix-ld.inputs.nixpkgs.follows = "nixpkgs"; mcmojave-hyprcursor.url = "github:libadoxon/mcmojave-hyprcursor"; + zen-browser.url = "github:0xc000022070/zen-browser-flake"; }; - outputs = { self, nixpkgs, ... } @ inputs: let + outputs = { self, nixpkgs, zen-browser, nix-ld, ... } @ inputs: let lib = nixpkgs.lib; system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; @@ -30,9 +32,9 @@ inherit catppuccinFlavor; }; modules = [ - inputs.nix-ld.nixosModules.nix-ld ./configuration.nix inputs.catppuccin.nixosModules.catppuccin + nix-ld.nixosModules.nix-ld ]; }; }; @@ -42,6 +44,7 @@ extraSpecialArgs = { inherit inputs; inherit catppuccinFlavor; + inherit system; }; modules = [ ./home.nix diff --git a/home.nix b/home.nix index 0d689eb..f6a2bb8 100644 --- a/home.nix +++ b/home.nix @@ -1,9 +1,18 @@ -{ pkgs, inputs, catppuccinFlavor, ... }: +{ pkgs, inputs, catppuccinFlavor, system, ... }: { imports = [ inputs.spicetify-nix.homeManagerModules.default ]; + dconf = { + enable = true; + settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + }; + }; + }; + programs.chromium = { enable = true; package = pkgs.brave; @@ -92,6 +101,11 @@ # environment. nixpkgs.config.allowUnfree = true; home.packages = [ + pkgs.android-studio + pkgs.freecad-wayland + pkgs.libnotify + inputs.zen-browser.packages."${system}".default + pkgs.streamdeck-ui pkgs.firefox pkgs.git-credential-manager @@ -107,6 +121,8 @@ pkgs.superfile # file manager pkgs.obsidian # notes + pkgs.notion-app-enhanced #notion + pkgs.keepassxc # passwords pkgs.devdocs-desktop # docs pkgs.spicetify-cli # spotify @@ -122,7 +138,7 @@ pkgs.betterdiscordctl pkgs.aseprite - pkgs.hyprshot + pkgs.watershot pkgs.xdg-desktop-portal-kde pkgs.xdg-desktop-portal @@ -156,12 +172,17 @@ pkgs.switcheroo pkgs.jetbrains.datagrip + pkgs.jetbrains.clion pkgs.jetbrains.idea-ultimate #better man pages pkgs.tealdeer # run wtih tldr - pkgs.loupe + pkgs.loupe #image viewer + + pkgs.glade #gtk designer + + pkgs.lxqt.lxqt-sudo # # It is sometimes useful to fine-tune packages, for example, by applying # # overrides. You can do that directly here, just don't forget the # # parentheses. Maybe you want to install Nerd Fonts with a limited number of