Johan Rong преди 1 месец
родител
ревизия
a41fb94a8c
променени са 4 файла, в които са добавени 102 реда и са изтрити 0 реда
  1. 27 0
      dev-flakes/go/default.nix
  2. 39 0
      dev-flakes/py/jupyter_notebook.nix
  3. 29 0
      dev-flakes/rs/default.nix
  4. 7 0
      nixos/modules/greeter/dank-greeter/common.nix

+ 27 - 0
dev-flakes/go/default.nix

@@ -0,0 +1,27 @@
+{
+  description = "Go Development Environment";
+
+  inputs = {
+    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
+  };
+
+  outputs = { self, nixpkgs }:
+    let
+      system = "x86_64-linux";
+      pkgs = import nixpkgs { inherit system; };
+    in
+    {
+      devShells.${system}.default = pkgs.mkShell {
+        buildInputs = with pkgs; [
+          go
+          gotools
+          golangci-lint
+          gopls
+        ];
+
+        shellHook = ''
+          export GOPATH="$PWD/.nix-go"
+        '';
+      };
+    };
+}

+ 39 - 0
dev-flakes/py/jupyter_notebook.nix

@@ -0,0 +1,39 @@
+{
+  description = "Jupyter Notebooks development environment";
+
+  inputs = {
+    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
+  };
+
+  outputs = { self, nixpkgs }:
+    let
+      system = "x86_64-linux";
+      pkgs = import nixpkgs {
+        inherit system;
+        config.allowUnfree = true;
+      };
+
+      pythonEnv = pkgs.python3.withPackages (ps: with ps; [
+        jupyter
+        ipykernel
+        notebook
+        
+        numpy
+        pandas
+        matplotlib
+        seaborn
+        scikit-learn
+      ]);
+    in
+    {
+      devShells.${system}.default = pkgs.mkShell {
+        packages = [
+          pythonEnv
+        ];
+
+        shellHook = ''
+          export LD_LIBRARY_PATH="${pkgs.stdenv.cc.cc.lib}/lib:$LD_LIBRARY_PATH"
+        '';
+      };
+    };
+}

+ 29 - 0
dev-flakes/rs/default.nix

@@ -0,0 +1,29 @@
+{
+  description = "Rust development environment";
+
+  inputs = {
+    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+    flake-utils.url = "github:numtide/flake-utils";
+  };
+
+  outputs = { self, nixpkgs, flake-utils }:
+    flake-utils.lib.eachDefaultSystem (system:
+      let
+        pkgs = nixpkgs.legacyPackages.${system};
+      in
+      {
+        devShells.default = pkgs.mkShell {
+          packages = with pkgs; [
+            gcc
+            libgcc
+            cargo
+            rustc
+            rustfmt
+            rustPlatform.rustLibSrc
+            rust-analyzer
+            pkg-config
+          ];
+        };
+      }
+    );
+}

+ 7 - 0
nixos/modules/greeter/dank-greeter/common.nix

@@ -14,4 +14,11 @@ in
     enable = true;
     configHome = "/home/${users.default}";
   };
+
+  systemd.services.greetd = {
+    serviceConfig = {
+      StateDirectory = "dms-greeter";
+      CacheDirectory = "dms-greeter";
+    };
+};
 }