diff --git a/flake.lock b/flake.lock index e425e8b..c2ee325 100644 --- a/flake.lock +++ b/flake.lock @@ -144,15 +144,16 @@ ] }, "locked": { - "lastModified": 1745251259, - "narHash": "sha256-Hf8WEJMMoP6Fe+k+PYkVJFk5UKory2S0jW7HqRVqQFc=", + "lastModified": 1744743431, + "narHash": "sha256-iyn/WBYDc7OtjSawbegINDe/gIkok888kQxk3aVnkgg=", "owner": "nix-community", "repo": "home-manager", - "rev": "82ee14ff60611b46588ea852f267aafcc117c8c8", + "rev": "c61bfe3ae692f42ce688b5865fac9e0de58e1387", "type": "github" }, "original": { "owner": "nix-community", + "ref": "release-24.11", "repo": "home-manager", "type": "github" } @@ -292,22 +293,6 @@ "type": "github" } }, - "nixpkgs-unstable": { - "locked": { - "lastModified": 1744932701, - "narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "root": { "inputs": { "agenix": "agenix", @@ -321,7 +306,6 @@ "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "nixpkgs-full": "nixpkgs-full", - "nixpkgs-unstable": "nixpkgs-unstable", "systems": "systems", "treefmt-nix": "treefmt-nix" } diff --git a/flake.nix b/flake.nix index 8dc1c74..7519d56 100644 --- a/flake.nix +++ b/flake.nix @@ -3,14 +3,13 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11-small"; - nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-full.url = "github:NixOS/nixpkgs/nixos-24.11"; flake-utils = { url = "github:numtide/flake-utils"; inputs.systems.follows = "systems"; }; home-manager = { - url = "github:nix-community/home-manager"; + url = "github:nix-community/home-manager/release-24.11"; inputs.nixpkgs.follows = "nixpkgs"; }; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; diff --git a/home/default.nix b/home/default.nix index 80d53a3..d35424e 100644 --- a/home/default.nix +++ b/home/default.nix @@ -403,11 +403,11 @@ in bindsym $mod+grave exec busctl --user call org.keepassxc.KeePassXC.MainWindow /keepassxc org.keepassxc.KeePassXC.MainWindow lockAllDatabases && swaylock -c #fdf6e3 # class border backgr. text indicator child_border - client.focused #${background} #${foreground} #${background} #${foreground} #${background} - client.focused_inactive #${background} #${background} #${foreground} #${foreground} #${background} - client.unfocused #${background} #${background} #${foreground} #${foreground} #${background} - client.urgent #${background} #${background} #${foreground} #${foreground} #${background} - client.placeholder #${background} #${background} #${foreground} #${foreground} #${background} + client.focused #${bright6} #${foreground} #${background} #${bright5} #${regular4} + client.focused_inactive #${regular0} #${regular0} #${foreground} #${bright5} #${regular0} + client.unfocused #${regular0} #${background} #${bright2} #${bright5} #${regular0} + client.urgent #${bright1} #${bright0} #${regular4} #${background} #${bright0} + client.placeholder #${background} #${bright2} #${foreground} #${background} #${bright2} client.background #${foreground} diff --git a/home/modules/helix/config/themes/black.toml b/home/modules/helix/config/themes/black.toml index 88d1a35..17ddd3d 100644 --- a/home/modules/helix/config/themes/black.toml +++ b/home/modules/helix/config/themes/black.toml @@ -17,7 +17,7 @@ "ui.popup" = { modifiers=["reversed"] } "ui.popup.info" = { modifiers=["reversed"] } "ui.text.info" = { modifiers=["reversed"] } -"ui.menu" = { bg="black", fg="white" } +"ui.menu" = { modifiers=["reversed"] } "ui.menu.selected" = { bg="white", fg="black" } "ui.window" = { bg="white" } "diagnostic" = { modifiers=["reversed"] } diff --git a/home/modules/zsh.nix b/home/modules/zsh.nix index fb4cc76..b22cec0 100644 --- a/home/modules/zsh.nix +++ b/home/modules/zsh.nix @@ -43,7 +43,7 @@ in preexec() { echo -n -e "\033]0;$1\007" } - PROMPT="%F{red}%?%f %F{green}%m%f:%F{blue}%~%f"$'\n'"╰─> " + PROMPT="%F{red}%?%f %F{green}%m%f:%F{blue}%~%f " RPROMPT='$(git_super_status)' #NIX_BUILD_SHELL="${pkgs.zsh}/bin/zsh" ''; diff --git a/home/pkgs.nix b/home/pkgs.nix index 0facf12..c6ccc73 100644 --- a/home/pkgs.nix +++ b/home/pkgs.nix @@ -20,8 +20,8 @@ with pkgs; [ delta # feature-rich diff viewer dig direnv + dstat duf # disk usage - dune3d dyff # diff tool for YAML element-desktop evince @@ -38,6 +38,7 @@ with pkgs; [ gimp glow glow # render markdown + gnome.gnome-tweaks gnumake gnupg gping # ping with graphs @@ -64,6 +65,7 @@ with pkgs; [ josm jq kanshi + kcachegrind keepassxc kubetail krita @@ -105,8 +107,12 @@ with pkgs; [ prusa-slicer pv pwgen - (python3.withPackages (pkgs: [pkgs.pandas pkgs.requests])) + (python3.withPackages (python-pkgs: with python-pkgs; [ + pandas + requests + ])) ranger + recipemd reptyr ripgrep ripgrep @@ -138,6 +144,7 @@ with pkgs; [ wireshark xdg-utils xmlstarlet + xsv # cut for csv unixtools.xxd xxh # portable shells yt-dlp diff --git a/nixos/configurations.nix b/nixos/configurations.nix index 48d70cd..040ec6b 100644 --- a/nixos/configurations.nix +++ b/nixos/configurations.nix @@ -7,7 +7,6 @@ , homepage , nixos-hardware , nixos-generators -, nixpkgs-unstable , ... }@inputs: let @@ -26,7 +25,7 @@ let in { gorgon = nixosSystem rec { - n_nixpkgs = nixpkgs-unstable; + n_nixpkgs = nixpkgs-full; system = "x86_64-linux"; diff --git a/nixos/modules/profiles/laptop.nix b/nixos/modules/profiles/laptop.nix index bdba617..3ad8c11 100644 --- a/nixos/modules/profiles/laptop.nix +++ b/nixos/modules/profiles/laptop.nix @@ -1,4 +1,5 @@ { config +, pkgs , lib , ... }: @@ -24,6 +25,11 @@ with lib; { age.identityPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; + fonts.packages = mkDefault (with pkgs; [ + source-code-pro + vegur + ]); + users.mutableUsers = mkDefault true; # Use the systemd-boot EFI boot loader. diff --git a/nixos/modules/yubikey.nix b/nixos/modules/yubikey.nix index 77f4394..3df9499 100644 --- a/nixos/modules/yubikey.nix +++ b/nixos/modules/yubikey.nix @@ -45,7 +45,8 @@ in #linuxPackages.acpi_call pam_u2f pamtester - yubioath-flutter + yubikey-manager + yubikey-manager-qt ]; }; } diff --git a/overlays.nix b/overlays.nix index 2c63c08..bf0588c 100644 --- a/overlays.nix +++ b/overlays.nix @@ -1,2 +1,23 @@ { + kanboard = final: prev: { + kanboard = prev.kanboard.overrideAttrs (oldAttrs: { + src = prev.fetchFromGitHub { + owner = "kanboard"; + repo = "kanboard"; + rev = "v${oldAttrs.version}"; + sha256 = "sha256-WG2lTPpRG9KQpRdb+cS7CqF4ZDV7JZ8XtNqAI6eVzm0="; + }; + }); + }; + + recipemd = final: prev: { + pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [ + ( + python-final: python-prev: { + recipemd = python-final.callPackage ./pkgs/recipemd.nix { }; + } + ) + ]; + recipemd = prev.python3Packages.toPythonApplication final.python3Packages.recipemd; + }; } diff --git a/pkgs/recipemd.nix b/pkgs/recipemd.nix new file mode 100644 index 0000000..4879a9a --- /dev/null +++ b/pkgs/recipemd.nix @@ -0,0 +1,58 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, pythonPackages +, installShellFiles +, pythonOlder +, pythonAtLeast +}: +buildPythonPackage rec { + pname = "recipemd"; + version = "4.0.8"; + + disabled = pythonOlder "3.7" || pythonAtLeast "4"; + + src = fetchFromGitHub { + owner = "tstehr"; + repo = "RecipeMD"; + rev = "v${version}"; + hash = "sha256-eumV2zm7TIJcTPRtWSckYz7jiyH3Ek4nIAVtuJs3sJc="; + }; + + propagatedBuildInputs = with pythonPackages; [ + dataclasses-json + yarl + CommonMark + argcomplete + pyparsing + ]; + + nativeBuildInputs = [ installShellFiles ]; + + postInstall = '' + ${pythonPackages.argcomplete}/bin/register-python-argcomplete -s bash ${pname} > $out/completions.bash + installShellCompletion --bash --name recipemd.bash $out/completions.bash + + ${pythonPackages.argcomplete}/bin/register-python-argcomplete -s fish ${pname} > $out/completions.fish + installShellCompletion --fish --name recipemd.fish $out/completions.fish + + # The version of argcomplete in nixpkgs-stable does not have support for zsh + #${pythonPackages.argcomplete}/bin/register-python-argcomplete -s zsh ${pname} > $out/completions.zsh + #installShellCompletion --zsh --name _recipemd $out/completions.zsh + ''; + + checkInputs = [ + pytestCheckHook + pythonPackages.pytestcov + ]; + + doCheck = true; + + meta = with lib; { + description = "Markdown recipe manager, reference implementation of RecipeMD"; + homepage = "https://recipemd.org"; + license = [ licenses.lgpl3Only ]; + maintainers = [ maintainers.dadada ]; + }; +}