From 417793580b8cb7106c4ca20ac65fc76d1f0aacf5 Mon Sep 17 00:00:00 2001 From: macronova Date: Fri, 24 Jan 2025 14:55:37 +0800 Subject: [PATCH] Add python template --- flake.nix | 6 +++ linux/quasar/gui.nix | 5 +- template/python/flake.nix | 28 ++++++++++ template/rust/flake.nix | 110 -------------------------------------- 4 files changed, 35 insertions(+), 114 deletions(-) create mode 100644 template/python/flake.nix diff --git a/flake.nix b/flake.nix index 1bf4d53..b2d9776 100644 --- a/flake.nix +++ b/flake.nix @@ -38,6 +38,12 @@ ({pkgs, ...}: { networking.hostName = instance; nixpkgs.overlays = [nix-custom.overlays.default]; + + # Feishin broken + # TODO: Use audioling + nixpkgs.config.permittedInsecurePackages = [ + "electron-31.7.7" + ]; }) ]; specialArgs = {inherit inputs;}; diff --git a/linux/quasar/gui.nix b/linux/quasar/gui.nix index 62bcf27..3669901 100644 --- a/linux/quasar/gui.nix +++ b/linux/quasar/gui.nix @@ -13,17 +13,14 @@ in { xdgCfg = config.xdg; in { home.packages = with pkgs; [ - discord - element-desktop feishin jellyfin-mpv-shim joplin-desktop lutris - nvtopPackages.amd + nvtopPackages.full picard qbittorrent ryujinx - signal-desktop telegram-desktop thunderbird via diff --git a/template/python/flake.nix b/template/python/flake.nix new file mode 100644 index 0000000..90030ad --- /dev/null +++ b/template/python/flake.nix @@ -0,0 +1,28 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + }; + + outputs = { + self, + flake-utils, + nixpkgs, + }: + flake-utils.lib.eachDefaultSystem (system: let + pkgs = nixpkgs.legacyPackages.${system}; + in { + devShells.default = pkgs.mkShell { + packages = with pkgs; [ + ( + python3.withPackages (pyPkgs: + with pyPkgs; [ + pylsp-mypy + python-lsp-ruff + python-lsp-server + ]) + ) + ]; + }; + }); +} diff --git a/template/rust/flake.nix b/template/rust/flake.nix index 4a2c287..2a753e1 100644 --- a/template/rust/flake.nix +++ b/template/rust/flake.nix @@ -4,10 +4,6 @@ flake-utils.url = "github:numtide/flake-utils"; fenix.url = "github:nix-community/fenix"; nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; - advisory-db = { - flake = false; - url = "github:rustsec/advisory-db"; - }; }; outputs = { @@ -16,119 +12,13 @@ fenix, flake-utils, nixpkgs, - advisory-db, }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; fenixPkgs = fenix.packages.${system}; craneLib = crane.mkLib pkgs; - src = craneLib.path ./.; - - # Common arguments can be set here to avoid repeating them later - commonArgs = with pkgs; { - inherit src; - strictDeps = true; - buildInputs = - [ - # Add additional build inputs here - ] - ++ lib.optionals stdenv.isDarwin [ - # Additional darwin specific inputs can be set here - libiconv - ]; - - # Additional environment variables can be set directly - # MY_CUSTOM_VAR = "some value"; - }; - - craneLibLLvmTools = - craneLib.overrideToolchain - (fenixPkgs.complete.withComponents [ - "cargo" - "llvm-tools" - "rustc" - ]); - - # Build *just* the cargo dependencies, so we can reuse - # all of that work (e.g. via cachix) when running in CI - cargoArtifacts = craneLib.buildDepsOnly commonArgs; - - # Build the actual crate itself, reusing the dependency - # artifacts from above. - crate = craneLib.buildPackage (commonArgs - // { - inherit cargoArtifacts; - }); in { - checks = { - # Build the crate as part of `nix flake check` for convenience - inherit crate; - - # Run clippy (and deny all warnings) on the crate source, - # again, resuing the dependency artifacts from above. - # - # Note that this is done as a separate derivation so that - # we can block the CI if there are issues here, but not - # prevent downstream consumers from building our crate by itself. - clippy = craneLib.cargoClippy (commonArgs - // { - inherit cargoArtifacts; - cargoClippyExtraArgs = "--all-targets -- --deny warnings"; - }); - - doc = craneLib.cargoDoc (commonArgs - // { - inherit cargoArtifacts; - }); - - # Check formatting - fmt = craneLib.cargoFmt { - inherit src; - }; - - # Audit dependencies - audit = craneLib.cargoAudit { - inherit src advisory-db; - }; - - # Audit licenses - deny = craneLib.cargoDeny { - inherit src; - }; - - # Run tests with cargo-nextest - # Consider setting `doCheck = false` on `my-crate` if you do not want - # the tests to run twice - nextest = craneLib.cargoNextest (commonArgs - // { - inherit cargoArtifacts; - partitions = 1; - partitionType = "count"; - }); - }; - - packages = - { - default = crate; - } - // pkgs.lib.optionalAttrs (!pkgs.stdenv.isDarwin) { - my-crate-llvm-coverage = craneLibLLvmTools.cargoLlvmCov (commonArgs - // { - inherit cargoArtifacts; - }); - }; - - apps.default = flake-utils.lib.mkApp { - drv = crate; - }; - devShells.default = craneLib.devShell { - # Inherit inputs from checks. - # Enable after Cargo.toml and Cargo.lock are present - # Consider customizing deny.toml - # checks = self.checks.${system}; - - # Extra inputs can be added here; cargo and rustc are provided by default packages = [ fenixPkgs.rust-analyzer ];