Compare commits
9 commits
7dd09e5761
...
4b01a982fb
Author | SHA1 | Date | |
---|---|---|---|
4b01a982fb | |||
1e64ec771e | |||
4a81e56111 | |||
290c7d44fc | |||
3f4e24449b | |||
e8a2671a3e | |||
e8d2ae626e | |||
17837e3c7a | |||
f10f0824de |
10 changed files with 144 additions and 45 deletions
48
flake.lock
48
flake.lock
|
@ -22,11 +22,11 @@
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719640067,
|
"lastModified": 1719733833,
|
||||||
"narHash": "sha256-ZEJFGHnElbMH3JgnFANxOlJgniFamu9MemvHCMQZtpA=",
|
"narHash": "sha256-6h2EqZU9bL9rHlXE+2LCBgnDImejzbS+4dYsNDDFlkY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "423b86a7f756421325e71663ada79a199bf13408",
|
"rev": "d185770ea261fb5cf81aa5ad1791b93a7834d12c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -100,11 +100,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719677234,
|
"lastModified": 1719827439,
|
||||||
"narHash": "sha256-qO9WZsj/0E6zcK4Ht1y/iJ8XfwbBzq7xdqhBh44OP/M=",
|
"narHash": "sha256-tneHOIv1lEavZ0vQ+rgz67LPNCgOZVByYki3OkSshFU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "36317d4d38887f7629876b0e43c8d9593c5cc48d",
|
"rev": "59ce796b2563e19821361abbe2067c3bb4143a7d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -179,11 +179,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719111455,
|
"lastModified": 1719832725,
|
||||||
"narHash": "sha256-rnIxHx+fLpydjMQsbpZ21kblUr/lMqSaAtMA4+qMMEE=",
|
"narHash": "sha256-dr8DkeS74KVNTgi8BE0BiUKALb+EKlMIV86G2xPYO64=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "4293f532d0107dfb7e6f8b34a0421dc8111320e6",
|
"rev": "2917972ed34ce292309b3a4976286f8b5c08db27",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -221,11 +221,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719624269,
|
"lastModified": 1719797603,
|
||||||
"narHash": "sha256-pRvYQcIJ1B9Fo52SglSXUMWDq/4PUTqLQEBitKIQS64=",
|
"narHash": "sha256-Bw9K0LgCwuBKg0534d0Ss71prBKzUR/b1SqWyRqOSzg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-vscode-extensions",
|
"repo": "nix-vscode-extensions",
|
||||||
"rev": "60056ea2311c8a9eb21b693b53727a8a42812b21",
|
"rev": "bec5bcb9503603a84f92d8801e304f7acdd89c86",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -268,11 +268,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719099622,
|
"lastModified": 1719663039,
|
||||||
"narHash": "sha256-YzJECAxFt+U5LPYf/pCwW/e1iUd2PF21WITHY9B/BAs=",
|
"narHash": "sha256-tXlrgAQygNIy49LDVFuPXlWD2zTQV9/F8pfoqwwPJyo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "5e8e3b89adbd0be63192f6e645e0a54080004924",
|
"rev": "4a1e673523344f6ccc84b37f4413ad74ea19a119",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -300,11 +300,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719506693,
|
"lastModified": 1719690277,
|
||||||
"narHash": "sha256-C8e9S7RzshSdHB7L+v9I51af1gDM5unhJ2xO1ywxNH8=",
|
"narHash": "sha256-0xSej1g7eP2kaUF+JQp8jdyNmpmCJKRpO12mKl/36Kc=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b2852eb9365c6de48ffb0dc2c9562591f652242a",
|
"rev": "2741b4b489b55df32afac57bc4bfd220e8bf617e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -316,11 +316,11 @@
|
||||||
},
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719706074,
|
"lastModified": 1719837916,
|
||||||
"narHash": "sha256-lTV3rJHSs20AVIL20SpiAWs+YbbKIwgmWINpFbL4ZAU=",
|
"narHash": "sha256-dV1URYa5SezYyz/1IDb1BHmIZ4tM0WtpPfVkFGH8xfY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "c64950a01a4f2d115c06264842083db84d865bb9",
|
"rev": "0575d7fb334ea662a0a03620780c87df0612eb9a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -475,11 +475,11 @@
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719268571,
|
"lastModified": 1719716556,
|
||||||
"narHash": "sha256-pcUk2Fg5vPXLUEnFI97qaB8hto/IToRfqskFqsjvjb8=",
|
"narHash": "sha256-KA9gy2Wkv76s4A8eLnOcdKVTygewbw3xsB8+awNMyqs=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "c2ea1186c0cbfa4d06d406ae50f3e4b085ddc9b3",
|
"rev": "b5974d4331fb6c893e808977a2e1a6d34b3162d6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -63,12 +63,12 @@ in
|
||||||
# };
|
# };
|
||||||
# in
|
# in
|
||||||
config.boot.kernelPackages.nvidiaPackages.mkDriver {
|
config.boot.kernelPackages.nvidiaPackages.mkDriver {
|
||||||
version = "550.67";
|
version = "555.58";
|
||||||
sha256_64bit = "sha256-mSAaCccc/w/QJh6w8Mva0oLrqB+cOSO1YMz1Se/32uI=";
|
sha256_64bit = "sha256-bXvcXkg2kQZuCNKRZM5QoTaTjF4l2TtrsKUvyicj5ew=";
|
||||||
sha256_aarch64 = "sha256-+UuK0UniAsndN15VDb/xopjkdlc6ZGk5LIm/GNs5ivA=";
|
sha256_aarch64 = "sha256-7XswQwW1iFP4ji5mbRQ6PVEhD4SGWpjUJe1o8zoXYRE=";
|
||||||
openSha256 = "sha256-M/1qAQxTm61bznAtCoNQXICfThh3hLqfd0s1n1BFj2A=";
|
openSha256 = "sha256-hEAmFISMuXm8tbsrB+WiUcEFuSGRNZ37aKWvf0WJ2/c=";
|
||||||
settingsSha256 = "sha256-FUEwXpeUMH1DYH77/t76wF1UslkcW721x9BHasaRUaM=";
|
settingsSha256 = "sha256-vWnrXlBCb3K5uVkDFmJDVq51wrCoqgPF03lSjZOuU8M=";
|
||||||
persistencedSha256 = "sha256-ojHbmSAOYl3lOi2X6HOBlokTXhTCK6VNsH6+xfGQsyo=";
|
persistencedSha256 = "sha256-lyYxDuGDTMdGxX3CaiWUh1IQuQlkI2hPEs5LI20vEVw=";
|
||||||
# patches = [ rcu_patch ];
|
# patches = [ rcu_patch ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -5,8 +5,7 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.mySystem.system = {
|
options.mySystem.system = {
|
||||||
packages = mkOption
|
packages = mkOption {
|
||||||
{
|
|
||||||
type = with types; listOf package;
|
type = with types; listOf package;
|
||||||
description = "List of system level package installs";
|
description = "List of system level package installs";
|
||||||
default = [ ];
|
default = [ ];
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
{ inputs
|
{ inputs, ... }:
|
||||||
, ...
|
let
|
||||||
}:
|
warpTerminal = import ./warp-terminal/warp-terminal.nix {
|
||||||
|
inherit (inputs.nixpkgs) lib;
|
||||||
|
};
|
||||||
|
in
|
||||||
{
|
{
|
||||||
nur = inputs.nur.overlay;
|
nur = inputs.nur.overlay;
|
||||||
|
warp-terminal = warpTerminal;
|
||||||
|
|
||||||
# The unstable nixpkgs set (declared in the flake inputs) will
|
# The unstable nixpkgs set (declared in the flake inputs) will
|
||||||
# be accessible through 'pkgs.unstable'
|
# be accessible through 'pkgs.unstable'
|
||||||
# great idea if I wasn't using unstable as my base.
|
# great idea if I wasn't using unstable as my base.
|
||||||
|
|
74
nixos/overlays/warp-terminal/update.sh
Executable file
74
nixos/overlays/warp-terminal/update.sh
Executable file
|
@ -0,0 +1,74 @@
|
||||||
|
#!/usr/bin/env nix-shell
|
||||||
|
#!nix-shell -i bash -p cacert curl jq nix moreutils --pure
|
||||||
|
#shellcheck shell=bash
|
||||||
|
set -eu -o pipefail
|
||||||
|
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
nixpkgs=$(nix-instantiate --eval -E '<nixpkgs>' --impure)
|
||||||
|
|
||||||
|
err() {
|
||||||
|
echo "$*" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
json_get() {
|
||||||
|
jq -r "$1" < "./versions.json"
|
||||||
|
}
|
||||||
|
|
||||||
|
json_set() {
|
||||||
|
jq --arg x "$2" "$1 = \$x" < "./versions.json" | sponge "./versions.json"
|
||||||
|
}
|
||||||
|
|
||||||
|
resolve_url() {
|
||||||
|
local pkg sfx url
|
||||||
|
local -i i max_redirects
|
||||||
|
case "$1" in
|
||||||
|
darwin)
|
||||||
|
pkg=macos
|
||||||
|
sfx=dmg
|
||||||
|
;;
|
||||||
|
linux)
|
||||||
|
pkg=pacman
|
||||||
|
sfx=pkg.tar.zst
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
err "Unexpected download type: $1"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
url="https://app.warp.dev/download?package=${pkg}"
|
||||||
|
((max_redirects = 15))
|
||||||
|
for ((i = 0; i < max_redirects; i++)); do
|
||||||
|
url=$(curl -s -o /dev/null -w '%{redirect_url}' "${url}")
|
||||||
|
[[ ${url} != *.${sfx} ]] || break
|
||||||
|
done
|
||||||
|
((i < max_redirects)) || { err "too many redirects"; }
|
||||||
|
echo "${url}"
|
||||||
|
}
|
||||||
|
|
||||||
|
get_version() {
|
||||||
|
echo "$1" | grep -oP -m 1 '(?<=/v)[\d.\w]+(?=/)'
|
||||||
|
}
|
||||||
|
|
||||||
|
# nix-prefetch-url seems to be uncompressing the archive then taking the hash
|
||||||
|
# so just get the hash from fetchurl
|
||||||
|
sri_get() {
|
||||||
|
local ouput sri
|
||||||
|
output=$(nix-build --expr \
|
||||||
|
"with import $nixpkgs {};
|
||||||
|
fetchurl {
|
||||||
|
url = \"$1\";
|
||||||
|
}" 2>&1 || true)
|
||||||
|
sri=$(echo "$output" | awk '/^\s+got:\s+/{ print $2 }')
|
||||||
|
[[ -z "$sri" ]] && err "$output"
|
||||||
|
echo "$sri"
|
||||||
|
}
|
||||||
|
|
||||||
|
for sys in darwin linux; do
|
||||||
|
url=$(resolve_url ${sys})
|
||||||
|
version=$(get_version "${url}")
|
||||||
|
if [[ ${version} != "$(json_get ".${sys}.version")" ]]; then
|
||||||
|
sri=$(sri_get "${url}")
|
||||||
|
json_set ".${sys}.version" "${version}"
|
||||||
|
json_set ".${sys}.hash" "${sri}"
|
||||||
|
fi
|
||||||
|
done
|
10
nixos/overlays/warp-terminal/versions.json
Normal file
10
nixos/overlays/warp-terminal/versions.json
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"darwin": {
|
||||||
|
"hash": "sha256-vogQAVbtiw2/U3oJrTj8SUexkEsEfYvmGq50nzy5aYo=",
|
||||||
|
"version": "0.2024.06.25.08.02.stable_01"
|
||||||
|
},
|
||||||
|
"linux": {
|
||||||
|
"hash": "sha256-Fc48bZzFBw9p636Mr8R+W/d1B3kIcOAu/Gd17nbzNfI=",
|
||||||
|
"version": "0.2024.06.25.08.02.stable_01"
|
||||||
|
}
|
||||||
|
}
|
13
nixos/overlays/warp-terminal/warp-terminal.nix
Normal file
13
nixos/overlays/warp-terminal/warp-terminal.nix
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{ lib, ...}:
|
||||||
|
let
|
||||||
|
versions = lib.importJSON ./versions.json;
|
||||||
|
in
|
||||||
|
(final: prev: {
|
||||||
|
warp-terminal = prev.warp-terminal.overrideAttrs (oldAttrs: {
|
||||||
|
version = versions.linux.version;
|
||||||
|
src = prev.fetchurl {
|
||||||
|
url = "https://releases.warp.dev/stable/v${versions.linux.version}/warp-terminal-v${versions.linux.version}-1-x86_64.pkg.tar.zst";
|
||||||
|
hash = versions.linux.hash;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
})
|
|
@ -1,12 +1,11 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ lib, pkgs, ... }:
|
||||||
{
|
{
|
||||||
# Support windows partition
|
# Support windows partition
|
||||||
mySystem = {
|
mySystem = {
|
||||||
security.wheelNeedsSudoPassword = false;
|
security.wheelNeedsSudoPassword = false;
|
||||||
system.packages = with pkgs; [
|
system.packages = with pkgs; [
|
||||||
gparted
|
|
||||||
ntfs3g
|
ntfs3g
|
||||||
fira-code-nerdfont
|
warp-terminal
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -18,7 +17,6 @@
|
||||||
loader = {
|
loader = {
|
||||||
grub = {
|
grub = {
|
||||||
enable = true;
|
enable = true;
|
||||||
useOSProber = true;
|
|
||||||
zfsSupport = true;
|
zfsSupport = true;
|
||||||
device = "nodev";
|
device = "nodev";
|
||||||
mirroredBoots = [
|
mirroredBoots = [
|
||||||
|
|
|
@ -11,6 +11,7 @@ with config;
|
||||||
btop
|
btop
|
||||||
dnsutils
|
dnsutils
|
||||||
nix
|
nix
|
||||||
|
fira-code-nerdfont
|
||||||
|
|
||||||
# TODO Move
|
# TODO Move
|
||||||
nil
|
nil
|
||||||
|
@ -27,6 +28,4 @@ with config;
|
||||||
enable = true;
|
enable = true;
|
||||||
nix-direnv.enable = true;
|
nix-direnv.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,6 +54,7 @@ with config;
|
||||||
vscode
|
vscode
|
||||||
vivaldi
|
vivaldi
|
||||||
termius
|
termius
|
||||||
|
gparted
|
||||||
];
|
];
|
||||||
|
|
||||||
i18n = {
|
i18n = {
|
||||||
|
|
Loading…
Reference in a new issue