diff --git a/.gitignore b/.gitignore index 4812d58..8905c28 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ result .direnv/ +programs/*/target diff --git a/common.nix b/common.nix index d554103..21aa36d 100644 --- a/common.nix +++ b/common.nix @@ -5,6 +5,7 @@ config, pkgs, lib, + rs-programs, ... }: with lib; @@ -25,6 +26,7 @@ with builtins; { "nodejs-16.20.0" ]; }; + overlays = [rs-programs]; }; environment = { @@ -73,6 +75,8 @@ with builtins; { devd libjxl + + s10e-jrnl ]; }; diff --git a/flake.lock b/flake.lock index 645b9bc..7663640 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1709606645, - "narHash": "sha256-yObjAl8deNvx1uIfQn7/vkB9Rnr0kqTo1HVrsk46l30=", + "lastModified": 1712285456, + "narHash": "sha256-A4EBTlFfeosNaO8zpN7rlWTgF9AHy755NxKBvhJ1b0w=", "owner": "hercules-ci", "repo": "arion", - "rev": "d2d48c9ec304ac80c84ede138b8c6f298d07d995", + "rev": "1886d25075aaf24c8bc687b3d2a87ae1f5d154ec", "type": "github" }, "original": { @@ -41,6 +41,25 @@ "url": "https://gitlab.com/obsidianical/easymacros.git" } }, + "fenix": { + "inputs": { + "nixpkgs": "nixpkgs_4", + "rust-analyzer-src": "rust-analyzer-src" + }, + "locked": { + "lastModified": 1713248681, + "narHash": "sha256-wB/Hz8tP8xzNnfJotyeAWhxxe6R2BOI0DWOtDBFgEgc=", + "owner": "nix-community", + "repo": "fenix", + "rev": "402051dcf16bcaa14dcbd96d2d5b4a97664eb35c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -49,11 +68,11 @@ ] }, "locked": { - "lastModified": 1709336216, - "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", "type": "github" }, "original": { @@ -71,11 +90,11 @@ ] }, "locked": { - "lastModified": 1701473968, - "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=", + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "type": "github" }, "original": { @@ -129,7 +148,7 @@ "gumseite": { "inputs": { "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1680175611, @@ -170,11 +189,11 @@ ] }, "locked": { - "lastModified": 1708547820, - "narHash": "sha256-xU/KC1PWqq5zL9dQ9wYhcdgxAwdeF/dJCLPH3PNZEBg=", + "lastModified": 1710478346, + "narHash": "sha256-Xjf8BdnQG0tLhPMlqQdwCIjOp7Teox0DP3N/jjyiGM4=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "0ca27bd58e4d5be3135a4bef66b582e57abe8f4a", + "rev": "64e7763d72c1e4c1e5e6472640615b6ae2d40fbf", "type": "github" }, "original": { @@ -190,11 +209,11 @@ ] }, "locked": { - "lastModified": 1712093955, - "narHash": "sha256-94I0sXz6fiVBvUAk2tg6t3UpM5rOImj4JTSTNFbg64s=", + "lastModified": 1712759992, + "narHash": "sha256-2APpO3ZW4idlgtlb8hB04u/rmIcKA8O7pYqxF66xbNY=", "owner": "nix-community", "repo": "home-manager", - "rev": "80546b220e95a575c66c213af1b09fe255299438", + "rev": "31357486b0ef6f4e161e002b6893eeb4fafc3ca9", "type": "github" }, "original": { @@ -206,7 +225,7 @@ "karton": { "inputs": { "naersk": "naersk_2", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_7", "utils": "utils" }, "locked": { @@ -239,7 +258,7 @@ "meowsite": { "inputs": { "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_7" + "nixpkgs": "nixpkgs_8" }, "locked": { "lastModified": 1678920998, @@ -275,7 +294,7 @@ }, "naersk_2": { "inputs": { - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_6" }, "locked": { "lastModified": 1671096816, @@ -294,7 +313,7 @@ }, "naersk_3": { "inputs": { - "nixpkgs": "nixpkgs_9" + "nixpkgs": "nixpkgs_10" }, "locked": { "lastModified": 1671096816, @@ -329,11 +348,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1709479366, - "narHash": "sha256-n6F0n8UV6lnTZbYPl1A9q1BS0p4hduAv1mGAP17CVd0=", + "lastModified": 1712163089, + "narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b8697e57f10292a6165a20f03d2f42920dfaf973", + "rev": "fd281bd6b7d3e32ddfa399853946f782553163b5", "type": "github" }, "original": { @@ -345,11 +364,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1711668574, - "narHash": "sha256-u1dfs0ASQIEr1icTVrsKwg2xToIpn7ZXxW3RHfHxshg=", + "lastModified": 1712588820, + "narHash": "sha256-y31s5idk3jMJMAVE4Ud9AdI7HT3CgTAeMTJ0StqKN7Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "219951b495fc2eac67b1456824cc1ec1fd2ee659", + "rev": "d272ca50d1f7424fbfcd1e6f1c9e01d92f6da167", "type": "github" }, "original": { @@ -360,11 +379,11 @@ }, "nixpkgs-unstable-small": { "locked": { - "lastModified": 1712132741, - "narHash": "sha256-44ZLixE1FGUmz01/G/1ZMfJG8P+i8y2SkOVRia0xRkk=", + "lastModified": 1712733109, + "narHash": "sha256-DmBcIbIDgJiDxegzaZJlcZKAXrsUL00G0cKLN+JaK1s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7781caa09d74b971a059a0240a03c5dd68acf3e5", + "rev": "ca74eb22840662bbd4aca7c38a35a02d16f0dd0a", "type": "github" }, "original": { @@ -374,6 +393,20 @@ } }, "nixpkgs_10": { + "locked": { + "lastModified": 1675614288, + "narHash": "sha256-i3Rc/ENnz62BcrSloeVmAyPicEh4WsrEEYR+INs9TYw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d25de6654a34d99dceb02e71e6db516b3b545be6", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_11": { "locked": { "lastModified": 1675614288, "narHash": "sha256-i3Rc/ENnz62BcrSloeVmAyPicEh4WsrEEYR+INs9TYw=", @@ -418,6 +451,22 @@ } }, "nixpkgs_4": { + "locked": { + "lastModified": 1712963716, + "narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "cfd6b5fc90b15709b780a5a1619695a88505a176", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { "locked": { "lastModified": 1679966490, "narHash": "sha256-k0jV+y1jawE6w4ZvKgXDNg4+O9NNtcaWwzw8gufv0b4=", @@ -433,7 +482,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_6": { "locked": { "lastModified": 1677852945, "narHash": "sha256-liiVJjkBTuBTAkRW3hrI8MbPD2ImYzwUpa7kvteiKhM=", @@ -447,7 +496,7 @@ "type": "indirect" } }, - "nixpkgs_6": { + "nixpkgs_7": { "locked": { "lastModified": 1677852945, "narHash": "sha256-liiVJjkBTuBTAkRW3hrI8MbPD2ImYzwUpa7kvteiKhM=", @@ -463,7 +512,7 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_8": { "locked": { "lastModified": 1674407282, "narHash": "sha256-2qwc8mrPINSFdWffPK+ji6nQ9aGnnZyHSItVcYDZDlk=", @@ -479,13 +528,13 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_9": { "locked": { - "lastModified": 1711703276, - "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", + "lastModified": 1712608508, + "narHash": "sha256-vMZ5603yU0wxgyQeHJryOI+O61yrX2AHwY6LOFyV1gM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", + "rev": "4cba8b53da471aea2ab2b0c1f30a81e7c451f4b6", "type": "github" }, "original": { @@ -494,36 +543,40 @@ "type": "indirect" } }, - "nixpkgs_9": { - "locked": { - "lastModified": 1675614288, - "narHash": "sha256-i3Rc/ENnz62BcrSloeVmAyPicEh4WsrEEYR+INs9TYw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d25de6654a34d99dceb02e71e6db516b3b545be6", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, "root": { "inputs": { "arion": "arion", "easymacros": "easymacros", + "fenix": "fenix", "gumseite": "gumseite", "home-manager": "home-manager", "karton": "karton", "mac-brcm-fw": "mac-brcm-fw", "meowsite": "meowsite", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_9", "nixpkgs-stable": "nixpkgs-stable", "nixpkgs-unstable-small": "nixpkgs-unstable-small", "wordsofgod": "wordsofgod" } }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1713212246, + "narHash": "sha256-lkNQ/oqb1vyvAVcZ6s8Bf6X00SqbEhdU+kPLX+C+PW8=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "90cfa8035f98d3ab0f7f4f1e77f4f5e3b0a7370b", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, "utils": { "locked": { "lastModified": 1676283394, @@ -557,7 +610,7 @@ "wordsofgod": { "inputs": { "naersk": "naersk_3", - "nixpkgs": "nixpkgs_10", + "nixpkgs": "nixpkgs_11", "utils": "utils_2" }, "locked": { diff --git a/flake.nix b/flake.nix index ef869a2..c24ac67 100644 --- a/flake.nix +++ b/flake.nix @@ -21,6 +21,7 @@ karton.url = "git+https://gitlab.com/obsidianical/microbin.git"; arion.url = "github:hercules-ci/arion"; gumseite.url = "git+https://gitlab.com/schrottkatze/gum-schulsachen.git"; + fenix.url = "github:nix-community/fenix"; }; outputs = { @@ -31,10 +32,30 @@ home-manager, nixos-hardware, mac-brcm-fw, + fenix, ... } @ inputs: let - pkgs = nixpkgs.legacyPackages."x86_64-linux"; - pkgs-unstable-small = nixpkgs-unstable-small.legacyPackages."x86_64-linux"; + system = "x86_64-linux"; + pkgs = nixpkgs.legacyPackages.${system}; + pkgs-stable = nixpkgs-stable.legacyPackages.${system}; + pkgs-unstable-small = nixpkgs-unstable-small.legacyPackages.${system}; + rs-toolchain = with fenix.packages.${system}; + combine [ + default.toolchain + rust-analyzer + ]; + rs-platform = pkgs.makeRustPlatform { + cargo = rs-toolchain; + rustc = rs-toolchain; + }; + rs-programs = final: prev: { + s10e-jrnl = rs-platform.buildRustPackage { + pname = "jrnl"; + version = "0.0.1"; + src = ./programs/jrnl; + cargoLock.lockFile = ./programs/jrnl/Cargo.lock; + }; + }; in { devShells."x86_64-linux".default = pkgs.mkShell { buildInputs = [ @@ -46,13 +67,14 @@ xmobar statgrab ])) + rs-toolchain pkgs.haskell-language-server ]; }; nixosConfigurations = { monosodium-glutamate-g = nixpkgs.lib.nixosSystem { specialArgs = { - inherit inputs pkgs-unstable-small; + inherit inputs pkgs-unstable-small pkgs-stable rs-programs; }; system = "x86_64-linux"; modules = [ @@ -74,7 +96,7 @@ }; catbook-j = nixpkgs.lib.nixosSystem { specialArgs = { - inherit inputs pkgs-unstable-small; + inherit inputs pkgs-unstable-small pkgs-stable rs-programs; }; system = "x86_64-linux"; modules = [ @@ -96,7 +118,7 @@ }; potatobook-g = nixpkgs.lib.nixosSystem { specialArgs = { - inherit inputs pkgs-unstable-small; + inherit inputs pkgs-unstable-small rs-programs; }; system = "x86_64-linux"; modules = [ diff --git a/modules/desktop-environment/home/panels/polybar.nix b/modules/desktop-environment/home/panels/polybar.nix index dd49ce9..4e8e02e 100644 --- a/modules/desktop-environment/home/panels/polybar.nix +++ b/modules/desktop-environment/home/panels/polybar.nix @@ -47,14 +47,14 @@ "module/xworkspaces" = { type = "internal/xworkspaces"; - label-active = ""; + label-active = ""; label-active-padding = 1; - label-occupied = ""; + label-occupied = ""; label-occupied-padding = 1; label-urgent = ""; label-urgent-foreground = "\${colors.alert}"; label-urgent-padding = 1; - label-empty = ""; + label-empty = ""; label-empty-foreground = "\${colors.disabled}"; label-empty-padding = 1; }; diff --git a/modules/desktop/cloud.nix b/modules/desktop/cloud.nix index 47f66ec..15e3c3a 100644 --- a/modules/desktop/cloud.nix +++ b/modules/desktop/cloud.nix @@ -2,6 +2,7 @@ config, lib, pkgs, + pkgs-stable, ... }: let cfg = config.jade.desktop.cloud; @@ -14,7 +15,7 @@ in home-manager.users.jade = {pkgs, ...}: { home.packages = with pkgs; [ fluent-reader - bitwarden + pkgs-stable.bitwarden rofi-rbw ]; }; diff --git a/modules/desktop/creative.nix b/modules/desktop/creative.nix index d20b982..2eebca9 100644 --- a/modules/desktop/creative.nix +++ b/modules/desktop/creative.nix @@ -8,7 +8,6 @@ inkscape-with-extensions obs-studio kdenlive - fspy scribus lilypond @@ -16,6 +15,9 @@ graphviz povray + openscad-unstable + openscad-lsp + fontforge-gtk onlyoffice-bin_latest diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index 52dedd3..bb04410 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -121,6 +121,7 @@ in mpv evince nomacs + jellyfin-media-player # from environment.systemPackages cleanup font-manager diff --git a/modules/shell/helix.nix b/modules/shell/helix.nix index e018746..5055a35 100644 --- a/modules/shell/helix.nix +++ b/modules/shell/helix.nix @@ -1,8 +1,4 @@ -{ - config, - pkgs-unstable-small, - ... -}: { +{config, ...}: { home-manager.users.jade = {pkgs, ...}: { home = { sessionVariables.EDITOR = "hx"; @@ -16,7 +12,7 @@ }; programs.helix = { enable = true; - package = pkgs-unstable-small.helix; + package = pkgs.helix; settings = { theme = "gruvbox"; editor = { @@ -24,11 +20,12 @@ bufferline = "multiple"; color-modes = true; cursorline = true; + auto-save = true; + auto-format = true; lsp = { display-messages = true; display-inlay-hints = true; }; - completion-replace = true; popup-border = "popup"; shell = ["nu" "-c"]; statusline.left = [ @@ -93,7 +90,7 @@ }; "rust-analyzer" = { config = { - check.command = "clippy"; + check.command = "check"; completion.snippets.custom = { "pub fn" = { prefix = ["pfn" "pubfn"]; diff --git a/other/config.nu b/other/config.nu index 4d36d1d..f6fe0c7 100644 --- a/other/config.nu +++ b/other/config.nu @@ -787,6 +787,12 @@ def nsp [ nix shell ...($programs | each {|it| $"nixpkgs#($it)" }) } +def nr [ + program: string +] { + nix run $"nixpkgs#($program)" +} + def lcr [ file_extension: string ] { @@ -835,3 +841,5 @@ alias cch = cargo check; alias togglecaps = xdotool key Caps_Lock; alias TOGGLECAPS = togglecaps; + +alias bash = echo $"(ansi red)no, fuck that shit!"; diff --git a/programs/jrnl/Cargo.lock b/programs/jrnl/Cargo.lock new file mode 100644 index 0000000..949dfbc --- /dev/null +++ b/programs/jrnl/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "jrnl" +version = "0.1.0" diff --git a/programs/jrnl/Cargo.toml b/programs/jrnl/Cargo.toml new file mode 100644 index 0000000..e8e395d --- /dev/null +++ b/programs/jrnl/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "jrnl" +version = "0.1.0" +edition = "2021" + +[dependencies] diff --git a/programs/jrnl/src/main.rs b/programs/jrnl/src/main.rs new file mode 100644 index 0000000..e7a11a9 --- /dev/null +++ b/programs/jrnl/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +}