From 08537b3a7f78b0adecb4b686e7d2ffa28d36930d Mon Sep 17 00:00:00 2001 From: traxys Date: Fri, 9 Feb 2024 10:24:24 +0100 Subject: [PATCH] thinkpad-nixos: Switch from gpt to gsm --- flake.lock | 315 ++++++++++++++++++++++------- flake.nix | 2 + hostconfig/thinkpad-nixos/gpt | 184 ----------------- hostconfig/thinkpad-nixos/work.nix | 11 +- 4 files changed, 255 insertions(+), 257 deletions(-) delete mode 100755 hostconfig/thinkpad-nixos/gpt diff --git a/flake.lock b/flake.lock index 6e5b46c..92f647d 100644 --- a/flake.lock +++ b/flake.lock @@ -3,9 +3,9 @@ "cargo2nix": { "inputs": { "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils_5", - "nixpkgs": "nixpkgs_7", - "rust-overlay": "rust-overlay_3" + "flake-utils": "flake-utils_7", + "nixpkgs": "nixpkgs_10", + "rust-overlay": "rust-overlay_4" }, "locked": { "lastModified": 1682891040, @@ -195,11 +195,11 @@ "systems": "systems_10" }, "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "owner": "numtide", "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "type": "github" }, "original": { @@ -213,11 +213,11 @@ "systems": "systems_11" }, "locked": { - "lastModified": 1681202837, - "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "owner": "numtide", "repo": "flake-utils", - "rev": "cfacdce06f30d2b68473a46042957675eebb3401", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "type": "github" }, "original": { @@ -266,6 +266,42 @@ "inputs": { "systems": "systems_14" }, + "locked": { + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_15": { + "inputs": { + "systems": "systems_15" + }, + "locked": { + "lastModified": 1681202837, + "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "cfacdce06f30d2b68473a46042957675eebb3401", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_16": { + "inputs": { + "systems": "systems_16" + }, "locked": { "lastModified": 1705309234, "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", @@ -335,12 +371,15 @@ } }, "flake-utils_5": { + "inputs": { + "systems": "systems_6" + }, "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", "type": "github" }, "original": { @@ -350,24 +389,6 @@ } }, "flake-utils_6": { - "inputs": { - "systems": "systems_6" - }, - "locked": { - "lastModified": 1681202837, - "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "cfacdce06f30d2b68473a46042957675eebb3401", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_7": { "inputs": { "systems": "systems_7" }, @@ -385,16 +406,31 @@ "type": "github" } }, + "flake-utils_7": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "flake-utils_8": { "inputs": { "systems": "systems_8" }, "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "lastModified": 1681202837, + "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", "owner": "numtide", "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "rev": "cfacdce06f30d2b68473a46042957675eebb3401", "type": "github" }, "original": { @@ -408,11 +444,11 @@ "systems": "systems_9" }, "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", "owner": "numtide", "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", "type": "github" }, "original": { @@ -465,6 +501,27 @@ "url": "https://gitea.familleboyer.net/traxys/Glaurung" } }, + "gsm": { + "inputs": { + "flake-utils": "flake-utils_5", + "naersk": "naersk_3", + "nixpkgs": "nixpkgs_8", + "rust-overlay": "rust-overlay_3" + }, + "locked": { + "lastModified": 1707470371, + "narHash": "sha256-ktikdRnvdqbRtyGN8Z/26wWov19oyiBUmMyzqXFb2x4=", + "owner": "traxys", + "repo": "git-series-manager", + "rev": "3ec49e023025764d039c1aa4338d8078ff33e661", + "type": "github" + }, + "original": { + "owner": "traxys", + "repo": "git-series-manager", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -574,7 +631,7 @@ "mujmap": { "inputs": { "cargo2nix": "cargo2nix", - "flake-utils": "flake-utils_6", + "flake-utils": "flake-utils_8", "nixpkgs": [ "mujmap", "cargo2nix", @@ -632,6 +689,24 @@ } }, "naersk_3": { + "inputs": { + "nixpkgs": "nixpkgs_7" + }, + "locked": { + "lastModified": 1698420672, + "narHash": "sha256-/TdeHMPRjjdJub7p7+w55vyABrsJlt5QkznPYy55vKA=", + "owner": "nix-community", + "repo": "naersk", + "rev": "aeb58d5e8faead8980a807c840232697982d47b9", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "naersk", + "type": "github" + } + }, + "naersk_4": { "inputs": { "nixpkgs": [ "nixpkgs" @@ -653,7 +728,7 @@ }, "neovim-flake": { "inputs": { - "flake-utils": "flake-utils_8", + "flake-utils": "flake-utils_10", "nixpkgs": [ "nvim-traxys", "nixpkgs" @@ -824,6 +899,54 @@ } }, "nixpkgs_10": { + "locked": { + "lastModified": 1682600000, + "narHash": "sha256-ha4BehR1dh8EnXSoE1m/wyyYVvHI9txjW4w5/oxsW5Y=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "50fc86b75d2744e1ab3837ef74b53f103a9b55a0", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "release-22.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { + "locked": { + "lastModified": 1706732774, + "narHash": "sha256-hqJlyJk4MRpcItGYMF+3uHe8HvxNETWvlGtLuVpqLU0=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "b8b232ae7b8b144397fdb12d20f592e5e7c1a64d", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_12": { + "locked": { + "lastModified": 1681358109, + "narHash": "sha256-eKyxW4OohHQx9Urxi7TQlFBTDWII+F+x2hklDOQPB50=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "96ba1c52e54e74c3197f4d43026b3f3d92e83ff9", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_13": { "locked": { "lastModified": 1681358109, "narHash": "sha256-eKyxW4OohHQx9Urxi7TQlFBTDWII+F+x2hklDOQPB50=", @@ -919,43 +1042,41 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1682600000, - "narHash": "sha256-ha4BehR1dh8EnXSoE1m/wyyYVvHI9txjW4w5/oxsW5Y=", - "owner": "nixos", + "lastModified": 1707268954, + "narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "50fc86b75d2744e1ab3837ef74b53f103a9b55a0", + "rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1", "type": "github" }, "original": { - "owner": "nixos", - "ref": "release-22.05", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, "nixpkgs_8": { "locked": { - "lastModified": 1706732774, - "narHash": "sha256-hqJlyJk4MRpcItGYMF+3uHe8HvxNETWvlGtLuVpqLU0=", - "owner": "nixos", + "lastModified": 1707268954, + "narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "b8b232ae7b8b144397fdb12d20f592e5e7c1a64d", + "rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", + "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_9": { "locked": { - "lastModified": 1681358109, - "narHash": "sha256-eKyxW4OohHQx9Urxi7TQlFBTDWII+F+x2hklDOQPB50=", + "lastModified": 1706487304, + "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "96ba1c52e54e74c3197f4d43026b3f3d92e83ff9", + "rev": "90f456026d284c22b3e3497be980b2e47d0b28ac", "type": "github" }, "original": { @@ -1007,7 +1128,7 @@ }, "nvim-traxys": { "inputs": { - "flake-utils": "flake-utils_7", + "flake-utils": "flake-utils_9", "neovim-flake": "neovim-flake", "new-plugin:vim-headerguard": "new-plugin:vim-headerguard", "nixfiles": [], @@ -1848,7 +1969,7 @@ "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat_3", - "flake-utils": "flake-utils_9", + "flake-utils": "flake-utils_11", "gitignore": "gitignore", "nixpkgs": [ "nvim-traxys", @@ -1877,7 +1998,7 @@ }, "raclette": { "inputs": { - "flake-utils": "flake-utils_10", + "flake-utils": "flake-utils_12", "hyperfine": "hyperfine", "naersk": [ "naersk" @@ -1885,7 +2006,7 @@ "nixpkgs": [ "nixpkgs" ], - "rust-overlay": "rust-overlay_4" + "rust-overlay": "rust-overlay_5" }, "locked": { "lastModified": 1698330500, @@ -1903,14 +2024,14 @@ }, "roaming_proxy": { "inputs": { - "flake-utils": "flake-utils_12", + "flake-utils": "flake-utils_14", "naersk": [ "naersk" ], "nixpkgs": [ "nixpkgs" ], - "rust-overlay": "rust-overlay_5" + "rust-overlay": "rust-overlay_6" }, "locked": { "lastModified": 1699217013, @@ -1932,23 +2053,24 @@ "fast-syntax-highlighting": "fast-syntax-highlighting", "fioul": "fioul", "glaurung": "glaurung", + "gsm": "gsm", "home-manager": "home-manager", "jq-zsh-plugin": "jq-zsh-plugin", "kabalist": "kabalist", "meson-syntax": "meson-syntax", "mujmap": "mujmap", - "naersk": "naersk_3", + "naersk": "naersk_4", "nix-gaming": "nix-gaming", "nix-index-database": "nix-index-database", "nix-ld": "nix-ld", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_11", "nixpkgs-traxys": "nixpkgs-traxys", "nur": "nur", "nvim-traxys": "nvim-traxys", "powerlevel10k": "powerlevel10k", "raclette": "raclette", "roaming_proxy": "roaming_proxy", - "rust-overlay": "rust-overlay_6", + "rust-overlay": "rust-overlay_7", "simulationcraft": "simulationcraft", "zsh-nix-shell": "zsh-nix-shell" } @@ -1992,6 +2114,25 @@ } }, "rust-overlay_3": { + "inputs": { + "flake-utils": "flake-utils_6", + "nixpkgs": "nixpkgs_9" + }, + "locked": { + "lastModified": 1707358215, + "narHash": "sha256-Nuhi8KEJ2e+2nTimSyEIPqN5eh7ECVWd+AnPXG6L+SY=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "dd917bb1b67fc049fd56fe6de70266a9ab74a4aa", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_4": { "inputs": { "flake-utils": [ "mujmap", @@ -2018,10 +2159,10 @@ "type": "github" } }, - "rust-overlay_4": { + "rust-overlay_5": { "inputs": { - "flake-utils": "flake-utils_11", - "nixpkgs": "nixpkgs_9" + "flake-utils": "flake-utils_13", + "nixpkgs": "nixpkgs_12" }, "locked": { "lastModified": 1694916722, @@ -2037,10 +2178,10 @@ "type": "github" } }, - "rust-overlay_5": { + "rust-overlay_6": { "inputs": { - "flake-utils": "flake-utils_13", - "nixpkgs": "nixpkgs_10" + "flake-utils": "flake-utils_15", + "nixpkgs": "nixpkgs_13" }, "locked": { "lastModified": 1699150490, @@ -2056,9 +2197,9 @@ "type": "github" } }, - "rust-overlay_6": { + "rust-overlay_7": { "inputs": { - "flake-utils": "flake-utils_14", + "flake-utils": "flake-utils_16", "nixpkgs": [ "nixpkgs" ] @@ -2183,6 +2324,36 @@ "type": "github" } }, + "systems_15": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_16": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "systems_2": { "locked": { "lastModified": 1681028828, diff --git a/flake.nix b/flake.nix index e140b4d..978b45f 100644 --- a/flake.nix +++ b/flake.nix @@ -43,6 +43,7 @@ url = "github:nix-community/NUR"; inputs.nixpkgs.follows = "nixpkgs"; }; + gsm.url = "github:traxys/git-series-manager"; nix-index-database.url = "github:Mic92/nix-index-database"; nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; @@ -317,6 +318,7 @@ self.hmModules.personal-cli self.hmModules.personal-gui inputs.fioul.homeManagerModules.default + inputs.gsm.homeManagerModules.default ./hostconfig/thinkpad-nixos/extra_info.nix ./hostconfig/thinkpad-nixos/hm.nix ]; diff --git a/hostconfig/thinkpad-nixos/gpt b/hostconfig/thinkpad-nixos/gpt deleted file mode 100755 index ba4fe25..0000000 --- a/hostconfig/thinkpad-nixos/gpt +++ /dev/null @@ -1,184 +0,0 @@ -#!/usr/bin/env bash - -usage() { - cat < -- - -Options: - -h/--help - Display this help message and exit - - -b/--branch - Branch to use (defaults to the current branch) - - -c/--ci - Jenkins job number - - -v/--version - Version of the patch - - --force - Override the current version of the patchset - - --no-ci - Silence the CI warning - - -C/--component - Component name. Defaults to the name of the git repo. - - -s/--send - Send the patches directly - - -d/--diff - Perform the interdiff with the supplied version -EOF -} - -ARGS=$( - getopt \ - --options 'hb:c:C:v:sd:' \ - --longoptions 'help,branch:,ci:,component:,no-ci,version,force,send,diff:' \ - -- "${@}" -) || { - printf "\nUsage: " - usage - exit -} -eval "set -- ${ARGS}" - -unset branch -unset component -unset version -unset interdiff -warn_ci=1 -force=0 -send=0 -unset ci_job - -while true; do - case "${1}" in - -h | --help) - usage - exit 0 - ;; - -b | --branch) - branch=$2 - shift 2 - ;; - -c | --ci) - warn_ci=0 - ci_job=$2 - shift 2 - ;; - -v | --version) - version=$2 - shift 2 - ;; - --no-ci) - warn_ci=0 - shift - ;; - -C | --component) - component=$2 - shift 2 - ;; - --force) - force=1 - shift - ;; - -s | --send) - send=1 - shift - ;; - -d | --diff) - interdiff="$2" - shift 2 - ;; - --) - shift - break - ;; - *) - exit 1 - ;; - esac -done - -if [[ $warn_ci = 1 ]]; then - echo "WARNING! CI was not provided" >&2 -fi - -if [[ -z $branch ]]; then - branch=$(git branch --show-current) -fi - -if [[ -z $component ]]; then - remote_url=$(git remote get-url origin) - repo="${remote_url#https://***REMOVED***/scm/bril/}" - component="${repo%.git}" -fi - -echo "component: ${component}" >&2 -echo "branch: ${branch}" >&2 -echo "version: ${version:-1}" - -if [[ -n $ci_job ]]; then - ci_link="https://sf.bds.***REMOVED***/jenkins/job/BRIL/job/${component}/job/${branch}/${ci_job}" - echo "CI: ${ci_link}" >&2 -fi - -repo_root=$(git rev-parse --show-toplevel) -branch_dir="$repo_root/.patches/$component/$branch" -mkdir -p "$branch_dir" - -version_dir="$branch_dir/${version:-1}" - -if [[ -d $version_dir ]]; then - if [[ $force = 0 ]]; then - echo "WARNING: patchset $version_dir already exists" >&2 - exit 1 - else - rm "$version_dir"/*.patch - fi -fi - -version_args=() -if [[ -n $version ]]; then - version_args+=(-v "$version") -fi - -if [[ -n $interdiff ]]; then - tmp_dir=$(mktemp -d) - git worktree add --detach "$tmp_dir" origin/master - - git -C "$tmp_dir" switch -c __patch_old - git -C "$tmp_dir" am "$branch_dir/$interdiff"/*.patch --empty=drop - - git format-patch \ - -o "$version_dir" \ - "${version_args[@]}" \ - --subject-prefix="PATCH $component" \ - --cover-letter \ - --interdiff=__patch_old \ - "$@" - - git worktree remove "$tmp_dir" - git branch -D __patch_old -else - git format-patch \ - -o "$version_dir" \ - "${version_args[@]}" \ - --subject-prefix="PATCH $component" \ - --cover-letter \ - "$@" -fi - -sed -i "s|\*\*\* BLURB HERE \*\*\*|Branch: $branch\nCI: $ci_link\n\*\*\* BLURB HERE\*\*\*|" "$version_dir"/*cover-letter.patch - -nvim "$version_dir"/*cover-letter.patch - -if [[ $send = 1 ]]; then - git send-email --sendmail-cmd="nwadminSendmail" --to="dl-bxi-sw-ll-patches@***REMOVED***" "$version_dir" -else - echo "Wrote patches to: $version_dir" -fi diff --git a/hostconfig/thinkpad-nixos/work.nix b/hostconfig/thinkpad-nixos/work.nix index a25ff21..b9df2a0 100644 --- a/hostconfig/thinkpad-nixos/work.nix +++ b/hostconfig/thinkpad-nixos/work.nix @@ -14,7 +14,6 @@ workAddr = "quentin.boyer@***REMOVED***"; home.packages = [ - (pkgs.writeShellScriptBin "gpt" (builtins.readFile ./gpt)) (pkgs.writeShellScriptBin "nwadminSendmail" '' #!/usr/bin/env sh # shellcheck disable=SC2029 @@ -24,6 +23,16 @@ '') ]; + programs.git-series-manager = { + enable = true; + settings = { + sendmail_args = ["--sendmail-cmd=nwadminSendmail" "--to=dl-bxi-sw-ll-patches@***REMOVED***"]; + repo_url_base = "https://***REMOVED***/scm/bril/"; + ci_url = "https://sf.bds.***REMOVED***/jenkins/job/BRIL/job/\${component}/job/\${branch}/\${ci_job}"; + editor = "nvim"; + }; + }; + programs.zsh.shellAliases = { gemail = ''git send-email --sendmail-cmd="nwadminSendmail" --to="dl-bxi-sw-ll-patches@***REMOVED***"''; };