thinkpad-nixos: Switch from gpt to gsm

This commit is contained in:
traxys 2024-02-09 10:24:24 +01:00
parent 3a4561bc21
commit 08537b3a7f
4 changed files with 255 additions and 257 deletions

315
flake.lock generated
View file

@ -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,

View file

@ -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
];

View file

@ -1,184 +0,0 @@
#!/usr/bin/env bash
usage() {
cat <<EOF
gpt <args> -- <git format-patch args>
Options:
-h/--help
Display this help message and exit
-b/--branch <branch>
Branch to use (defaults to the current branch)
-c/--ci <job number>
Jenkins job number
-v/--version <version number>
Version of the patch
--force
Override the current version of the patchset
--no-ci
Silence the CI warning
-C/--component <component>
Component name. Defaults to the name of the git repo.
-s/--send
Send the patches directly
-d/--diff <version>
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

View file

@ -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***"'';
};