From 3eefb0e8ce02cbefd1e38983e23fa52b5a5fa5fa Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Sun, 18 May 2025 17:02:53 +0200 Subject: [PATCH] feat: several changes (add packages, fix syntax, ...) --- dev-flakes/flake.lock | 83 +++++++++++++++++++++++++++++++ dev-flakes/flake.nix | 90 ++++++++++++++++++++++++++++++++++ dotfiles/hyprland.conf | 12 ++--- flake.nix | 5 +- hosts/home/configuration.nix | 22 +++++++-- modules/nixos/desktop-apps.nix | 5 ++ 6 files changed, 207 insertions(+), 10 deletions(-) create mode 100644 dev-flakes/flake.lock create mode 100644 dev-flakes/flake.nix diff --git a/dev-flakes/flake.lock b/dev-flakes/flake.lock new file mode 100644 index 0000000..04f5b88 --- /dev/null +++ b/dev-flakes/flake.lock @@ -0,0 +1,83 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1745391562, + "narHash": "sha256-sPwcCYuiEopaafePqlG826tBhctuJsLx/mhKKM5Fmjo=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "8a2f738d9d1f1d986b5a4cd2fd2061a7127237d7", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs", + "spacetime": "spacetime" + } + }, + "spacetime": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1747153592, + "narHash": "sha256-LdqcDLzGzhP6JGdMPw9e/kfLrSYNc6ILZDSze+tEeMk=", + "owner": "mx42", + "repo": "nix_spacetimedb", + "rev": "205f52c60ab71daa92d1f4a667b0f9d915eda513", + "type": "github" + }, + "original": { + "owner": "mx42", + "ref": "main", + "repo": "nix_spacetimedb", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/dev-flakes/flake.nix b/dev-flakes/flake.nix new file mode 100644 index 0000000..808d78f --- /dev/null +++ b/dev-flakes/flake.nix @@ -0,0 +1,90 @@ +{ + description = "Python dev shell"; + + # Flake inputs + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + spacetime = { + url = "github:mx42/nix_spacetimedb/main"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + # Flake outputs + outputs = + { + nixpkgs, + spacetime, + ... + }: + let + system = "x86_64-linux"; + pkgs = import nixpkgs { inherit system; }; + spacetimedb = import spacetime { inherit pkgs; }; + in + { + devShells.${system} = { + python = pkgs.mkShell { + packages = ( + with pkgs; + [ + python313 + onefetch + uv + ruff + ] + ); + shellHook = '' + onefetch + uv sync + ''; + }; + scala = pkgs.mkShell { + packages = ( + with pkgs; + [ + sbt + coursier + onefetch + openjdk + ] + ); + shellHook = '' + onefetch + ''; + }; + docker = pkgs.mkShell { + packages = ( + with pkgs; + [ + podman + podman-compose + ] + ); + }; + rust = pkgs.mkShell { + packages = ( + with pkgs; + [ + rustc + rust-analyzer + cargo + lld + pkg-config + openssl + onefetch + ] + ); + PKG_CONFIG_PATH = "${pkgs.openssl.dev}/lib/pkgconfig"; + shellHook = '' + onefetch + ''; + }; + spacetime = pkgs.mkShell { + packages = [ + spacetimedb + ]; + }; + }; + }; +} diff --git a/dotfiles/hyprland.conf b/dotfiles/hyprland.conf index 96a568f..236e6a1 100644 --- a/dotfiles/hyprland.conf +++ b/dotfiles/hyprland.conf @@ -306,12 +306,12 @@ bind = ALT, Tab, bringactivetotop # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ -windowrule = noborder,^(wofi)$ -windowrule = center,^(wofi)$ -windowrule = center,^(steam)$ -windowrule = float, swayimg|vlc|Viewnior|pavucontrol -windowrule = float, nwg-look|qt5ct|mpv -windowrule = float, zoom +windowrulev2 = noborder,class:^(wofi)$,title:^(wofi)$ +windowrulev2 = center,class:^(wofi)$,title:^(wofi)$ +windowrulev2 = center,class:^(steam)$,title:^(steam)$ +windowrulev2 = float,class:swayimg|vlc|Viewnior|pavucontrol +windowrulev2 = float,class:nwg-look|qt5ct|mpv +windowrulev2 = float,class:zoom # Ignore maximize requests from apps. You'll probably like this. windowrulev2 = suppressevent maximize, class:.* diff --git a/flake.nix b/flake.nix index 39b6ad2..c4d3d10 100644 --- a/flake.nix +++ b/flake.nix @@ -23,7 +23,10 @@ }@inputs: let system = "x86_64-linux"; - pkgs = nixpkgs.legacyPackages.${system}; + pkgs = import nixpkgs { + system = system; + config.allowUnfree = true; + }; in { nixosConfigurations = { diff --git a/hosts/home/configuration.nix b/hosts/home/configuration.nix index 3ce156e..82b8c94 100644 --- a/hosts/home/configuration.nix +++ b/hosts/home/configuration.nix @@ -63,7 +63,10 @@ "nix-command" "flakes" ]; - trusted-users = [ "root" "yoru" ]; + trusted-users = [ + "root" + "yoru" + ]; }; gc = { automatic = true; @@ -75,7 +78,11 @@ extra-substituters = https://devenv.cachix.org extra-trusted-public-keys = devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw= ''; - + }; + + nixpkgs.config = { + allowUnfree = true; + allowBroken = true; }; time.timeZone = "Europe/Paris"; @@ -145,6 +152,15 @@ alsa.support32Bit = true; pulse.enable = true; }; + firefly-iii-data-importer = { + enable = true; + enableNginx = true; + settings = { + FIREFLY_III_URL_FILE = "/home/yoru/.firefly-url.txt"; + VANITY_URL_FILE = "/home/yoru/.firefly-vanity-url.txt"; + FIREFLY_III_CLIENT_ID = 2; + }; + }; # my modules cli-environment.enable = true; desktop-apps.enable = true; @@ -164,6 +180,7 @@ "scanner" "lp" "docker" + "cdrom" ]; }; home-manager = { @@ -172,7 +189,6 @@ "yoru" = import ./home.nix; }; }; - nixpkgs.config.allowUnfree = true; stylix = { enable = true; diff --git a/modules/nixos/desktop-apps.nix b/modules/nixos/desktop-apps.nix index 66ccae6..16d060b 100644 --- a/modules/nixos/desktop-apps.nix +++ b/modules/nixos/desktop-apps.nix @@ -33,12 +33,17 @@ in obs-studio prusa-slicer openscad + ungoogled-chromium + inkscape + rawtherapee godot_4 gdtoolkit_4 sfxr lmms audacity + handbrake + vlc ]; programs = { firefox.enable = true;