Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a5326cad04 |
@@ -1,70 +0,0 @@
|
||||
name: t3code update
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "50 6 * * *"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
update-t3code:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: install nix
|
||||
uses: cachix/install-nix-action@v27
|
||||
with:
|
||||
nix_path: nixpkgs=channel:nixos-unstable
|
||||
|
||||
- name: check latest t3code release and update file
|
||||
id: update
|
||||
env:
|
||||
FILE: modules/pkgs/t3code.nix
|
||||
LATEST_RELEASE_URL: https://github.com/pingdotgg/t3code/releases/latest
|
||||
DOWNLOAD_URL_TEMPLATE: https://github.com/pingdotgg/t3code/releases/download/v{version}/T3-Code-{version}-x86_64.AppImage
|
||||
RELEASE_TAG_TEMPLATE: v{version}
|
||||
shell: bash
|
||||
run: bash .gitea/scripts/update-appimage-nix.sh
|
||||
|
||||
- name: create branch and commit
|
||||
if: steps.update.outputs.updated == 'true'
|
||||
shell: bash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
version="${{ steps.update.outputs.version }}"
|
||||
|
||||
BRANCH="bot/t3code-${version}" \
|
||||
FILE="modules/pkgs/t3code.nix" \
|
||||
COMMIT_MESSAGE="update t3code to ${version}" \
|
||||
bash .gitea/scripts/commit-update.sh
|
||||
|
||||
- name: open pull request
|
||||
if: steps.update.outputs.updated == 'true'
|
||||
env:
|
||||
GITEA_TOKEN: ${{ secrets.tea_token || secrets.TEA_TOKEN }}
|
||||
shell: bash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
version="${{ steps.update.outputs.version }}"
|
||||
previous_version="${{ steps.update.outputs.previous_version }}"
|
||||
release_url="${{ steps.update.outputs.release_url }}"
|
||||
|
||||
pr_body=$(cat <<EOF
|
||||
automated update of t3code appimage version and hash
|
||||
|
||||
## changelog
|
||||
from \`${previous_version}\` to \`${version}\`
|
||||
|
||||
upstream release: ${release_url}
|
||||
EOF
|
||||
)
|
||||
|
||||
GITEA_API="https://gitea.unrail.xyz/api/v1/repos/thomas/nixos-config" \
|
||||
BRANCH="bot/t3code-${version}" \
|
||||
TITLE="update t3code to ${version}" \
|
||||
BODY="$pr_body" \
|
||||
bash .gitea/scripts/create-gitea-pr.sh
|
||||
Generated
+7
-92
@@ -63,43 +63,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gsf": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774464988,
|
||||
"narHash": "sha256-F0pVG3ou+yN+jqQlFXMf27BCeShDuZcpoeHFSord8xk=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "3bccad3870d1f7220c423f06d21ed9b91d1b90d1",
|
||||
"revCount": 10,
|
||||
"type": "git",
|
||||
"url": "https://gitea.unrail.xyz/thomas/gotta-scroll-fast"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://gitea.unrail.xyz/thomas/gotta-scroll-fast"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -123,11 +86,11 @@
|
||||
},
|
||||
"import-tree": {
|
||||
"locked": {
|
||||
"lastModified": 1773693634,
|
||||
"narHash": "sha256-BtZ2dtkBdSUnFPPFc+n0kcMbgaTxzFNPv2iaO326Ffg=",
|
||||
"lastModified": 1772999353,
|
||||
"narHash": "sha256-dPb0WxUhFaz6wuR3B6ysqFJpsu8txKDPZvS47AT2XLI=",
|
||||
"owner": "vic",
|
||||
"repo": "import-tree",
|
||||
"rev": "c41e7d58045f9057880b0d85e1152d6a4430dbf1",
|
||||
"rev": "545a4df146fce44d155573e47f5a777985acf912",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -136,21 +99,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"maccel": {
|
||||
"locked": {
|
||||
"lastModified": 1771614512,
|
||||
"narHash": "sha256-KzvNWDGVpoNcR9wcIOlwxr6Nwtgt9Hicck/0fswhi7U=",
|
||||
"owner": "Gnarus-G",
|
||||
"repo": "maccel",
|
||||
"rev": "c7c1369d4bd4f240b38365cd43bd696d06635e4d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Gnarus-G",
|
||||
"repo": "maccel",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1754028485,
|
||||
@@ -169,27 +117,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1774106199,
|
||||
"narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=",
|
||||
"lastModified": 1772773019,
|
||||
"narHash": "sha256-E1bxHxNKfDoQUuvriG71+f+s/NT0qWkImXsYZNFFfCs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6c9a78c09ff4d6c21d0319114873508a6ec01655",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1774106199,
|
||||
"narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6c9a78c09ff4d6c21d0319114873508a6ec01655",
|
||||
"rev": "aca4d95fce4914b3892661bcb80b8087293536c6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -203,10 +135,8 @@
|
||||
"inputs": {
|
||||
"agenix": "agenix",
|
||||
"flake-parts": "flake-parts",
|
||||
"gsf": "gsf",
|
||||
"import-tree": "import-tree",
|
||||
"maccel": "maccel",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
@@ -223,21 +153,6 @@
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
||||
@@ -10,8 +10,6 @@
|
||||
|
||||
import-tree.url = "github:vic/import-tree";
|
||||
agenix.url = "github:ryantm/agenix";
|
||||
maccel.url = "github:Gnarus-G/maccel";
|
||||
gsf.url = "git+https://gitea.unrail.xyz/thomas/gotta-scroll-fast";
|
||||
};
|
||||
|
||||
outputs =
|
||||
|
||||
@@ -1,11 +1,5 @@
|
||||
{config, ...}: let
|
||||
flakeConfig = config;
|
||||
in {
|
||||
{inputs, ...}: {
|
||||
flake.nixosModules.development = {pkgs, ...}: {
|
||||
virtualisation.docker.enable = true;
|
||||
|
||||
users.users.${flakeConfig.username}.extraGroups = ["docker"];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
nodejs_24
|
||||
go
|
||||
@@ -18,8 +12,6 @@ in {
|
||||
lazygit
|
||||
pnpm
|
||||
ni
|
||||
code-cursor-fhs
|
||||
codex
|
||||
|
||||
# LSPs and formatters (previously via Mason)
|
||||
stylua
|
||||
|
||||
+1
-49
@@ -14,13 +14,9 @@ in {
|
||||
}: let
|
||||
smbSecretFile = ../../secrets/smb-credentials.age;
|
||||
hasSmbSecret = builtins.pathExists smbSecretFile;
|
||||
|
||||
gsfDevice = "/dev/input/by-id/usb-Ploopy_Corporation_Ploopy_Adept_Trackball_E6626067D39C532A0000000000000000-if02-event-mouse";
|
||||
in {
|
||||
imports = [
|
||||
inputs.agenix.nixosModules.default
|
||||
inputs.maccel.nixosModules.default
|
||||
inputs.gsf.nixosModules.default
|
||||
../../hardware-configuration.nix
|
||||
];
|
||||
|
||||
@@ -43,24 +39,7 @@ in {
|
||||
networking.hostName = "nixos";
|
||||
|
||||
# Networking
|
||||
networking.networkmanager = {
|
||||
enable = true;
|
||||
wifi.powersave = false;
|
||||
};
|
||||
|
||||
# LocalSend
|
||||
networking.firewall = {
|
||||
allowedTCPPorts = [53317];
|
||||
allowedUDPPorts = [53317];
|
||||
};
|
||||
|
||||
# WebHID/VIA access on Linux (VIA needs hidraw access)
|
||||
services.udev.extraRules = ''
|
||||
# General VIA rule (matches vial docs/reddit workaround)
|
||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
||||
# Explicit Ploopy Adept (VID:PID 5043:5c47)
|
||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="5043", ATTRS{idProduct}=="5c47", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
||||
'';
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
# Time zone
|
||||
time.timeZone = "Europe/Lisbon";
|
||||
@@ -107,29 +86,6 @@ in {
|
||||
extraGroups = ["networkmanager" "wheel"];
|
||||
};
|
||||
|
||||
users.groups.maccel.members = [flakeConfig.username];
|
||||
|
||||
hardware.maccel = {
|
||||
enable = true;
|
||||
enableCli = true;
|
||||
parameters = {
|
||||
mode = "linear";
|
||||
sensMultiplier = 1.0;
|
||||
yxRatio = 1.0;
|
||||
inputDpi = 1000.0;
|
||||
angleRotation = 0.0;
|
||||
acceleration = 0.3;
|
||||
offset = 2.0;
|
||||
outputCap = 2.0;
|
||||
};
|
||||
};
|
||||
|
||||
hardware.gsf = {
|
||||
enable = true;
|
||||
device = gsfDevice;
|
||||
inputGroupUsers = [flakeConfig.username];
|
||||
};
|
||||
|
||||
# Programs
|
||||
|
||||
# Allow unfree
|
||||
@@ -176,9 +132,7 @@ in {
|
||||
"gid=1000"
|
||||
"iocharset=utf8"
|
||||
"nofail"
|
||||
"x-systemd.automount"
|
||||
"_netdev"
|
||||
"noserverino"
|
||||
"vers=3.0"
|
||||
];
|
||||
};
|
||||
@@ -192,9 +146,7 @@ in {
|
||||
"gid=1000"
|
||||
"iocharset=utf8"
|
||||
"nofail"
|
||||
"x-systemd.automount"
|
||||
"_netdev"
|
||||
"noserverino"
|
||||
"vers=3.0"
|
||||
];
|
||||
};
|
||||
|
||||
@@ -19,28 +19,13 @@
|
||||
slack
|
||||
feishin
|
||||
obsidian
|
||||
nextcloud-client
|
||||
self.packages.${pkgs.stdenv.hostPlatform.system}.handy
|
||||
self.packages.${pkgs.stdenv.hostPlatform.system}.t3code
|
||||
mpv
|
||||
ffmpeg
|
||||
tmux
|
||||
obs-studio
|
||||
jjui
|
||||
bat
|
||||
localsend
|
||||
];
|
||||
|
||||
systemd.user.services.handy = {
|
||||
description = "Handy";
|
||||
wantedBy = ["graphical-session.target"];
|
||||
partOf = ["graphical-session.target"];
|
||||
after = ["graphical-session.target"];
|
||||
serviceConfig = {
|
||||
ExecStart = "${self.packages.${pkgs.stdenv.hostPlatform.system}.handy}/bin/handy";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 5;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
perSystem = {pkgs, ...}: {
|
||||
packages.handy = pkgs.appimageTools.wrapType2 rec {
|
||||
pname = "handy";
|
||||
version = "0.8.0";
|
||||
version = "0.7.10";
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://github.com/cjpais/Handy/releases/download/v${version}/Handy_${version}_amd64.AppImage";
|
||||
hash = "sha256-PLcssfd6iMx51mglAJ7D4+67HFazwfhJMImgU9WiNDk=";
|
||||
hash = "sha256-vBOcXCCJr9D0u0h27nN4XLPPngx4m+toAfi6O6Fuojk=";
|
||||
};
|
||||
|
||||
extraInstallCommands = let
|
||||
@@ -17,7 +17,6 @@
|
||||
install -m 444 -D "$desktop_file" "$out/share/applications/${pname}.desktop"
|
||||
substituteInPlace "$out/share/applications/${pname}.desktop" \
|
||||
--replace 'Exec=AppRun' 'Exec=${pname}' || true
|
||||
sed -i -E 's|^Exec=.*$|Exec=${pname}|g' "$out/share/applications/${pname}.desktop" || true
|
||||
fi
|
||||
|
||||
if [ -d ${contents}/usr/share/icons ]; then
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
perSystem = { pkgs, ... }: {
|
||||
packages.helium = pkgs.appimageTools.wrapType2 rec {
|
||||
pname = "helium";
|
||||
version = "0.10.8.1";
|
||||
version = "0.10.5.1";
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://github.com/imputnet/helium-linux/releases/download/${version}/${pname}-${version}-x86_64.AppImage";
|
||||
hash = "sha256-pN/Iw1ANggDOxxFb2CN436qbcrs8/bDcEqjZC80grQs=";
|
||||
hash = "sha256-c/ea8C1XjTkBo0/ujGHEbKWyCmRMxyuiuOzAO9AMf1o=";
|
||||
};
|
||||
|
||||
extraInstallCommands = let
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
{lib, ...}: {
|
||||
perSystem = {pkgs, ...}: {
|
||||
packages.t3code = pkgs.appimageTools.wrapType2 rec {
|
||||
pname = "t3code";
|
||||
version = "0.0.13";
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://github.com/pingdotgg/t3code/releases/download/v${version}/T3-Code-${version}-x86_64.AppImage";
|
||||
hash = "sha256-oHKIh+aHsbGVHEoLLjItl6AbVRwvWVlZaIWyHKiekVc=";
|
||||
};
|
||||
|
||||
extraInstallCommands = let
|
||||
contents = pkgs.appimageTools.extract {inherit pname version src;};
|
||||
in ''
|
||||
desktop_file=$(find ${contents} -name "*.desktop" | head -n1)
|
||||
if [ -n "$desktop_file" ]; then
|
||||
install -m 444 -D "$desktop_file" "$out/share/applications/${pname}.desktop"
|
||||
substituteInPlace "$out/share/applications/${pname}.desktop" \
|
||||
--replace 'Exec=AppRun' 'Exec=${pname}' \
|
||||
--replace 'Exec=T3-Code' 'Exec=${pname}' \
|
||||
--replace 'Exec=t3-code' 'Exec=${pname}' || true
|
||||
fi
|
||||
|
||||
if [ -d ${contents}/usr/share/icons ]; then
|
||||
cp -r ${contents}/usr/share/icons $out/share
|
||||
fi
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "T3 Chat Desktop";
|
||||
homepage = "https://t3.codes";
|
||||
license = lib.licenses.mit;
|
||||
platforms = ["x86_64-linux"];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user