Compare commits

..

9 Commits

Author SHA1 Message Date
tux
b17687e37a style: format code 2026-07-31 20:23:26 +05:30
tux
2dd80a2406 feat: add gpu-screen-recorder 2026-07-29 17:48:46 +05:30
tux
414f448d36 misc:(opencode): set default model 2026-07-29 15:40:34 +05:30
tux
4814cc4722 feat(zsh): switch to fast-syntax-highlighting 2026-07-28 22:35:52 +05:30
tux
030377427b feat(canopus): setup nvidia 2026-07-28 22:21:42 +05:30
tux
5c1cedeb98 chore: update tpanel flake input 2026-07-28 19:01:20 +05:30
tux
32da04b3f1 feat(canopus): add scripts for monitors 2026-07-24 19:45:06 +05:30
tux
a63df0ee62 feat(canopus): enable dGPU 2026-07-24 17:54:50 +05:30
tux
a34609885b chore: update flake inputs 2026-07-24 17:54:27 +05:30
8 changed files with 157 additions and 86 deletions

134
flake.lock generated
View File

@@ -42,11 +42,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1782073106, "lastModified": 1784368054,
"narHash": "sha256-dnS5SaZlPqR1E0dPXaPc+lFkBwLUbAgbwsVMk7uA6dY=", "narHash": "sha256-zF1iJkBQSDWmRO4/LEeHR1SpKY0lqZaxkoQJpPS9K9U=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "aquamarine", "repo": "aquamarine",
"rev": "6d6e2384f381def4ea4ea81543cba4bbdac72457", "rev": "9b5f14d9483445e766294eb8fbe0b8f370269ed0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -84,11 +84,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1781655108, "lastModified": 1784030954,
"narHash": "sha256-Fg7jz+6l17qnNT9FsLwexBEdixZuEp+2CDE3JRCGyFo=", "narHash": "sha256-MPMVSBhSEl+ShSrWVN5qH3FiX2gg8LbYA8L3nuQw5VE=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "064e48aa7be551a9d29d7db0287f086a40903bde", "rev": "25ea4fd7a42359379da9ddadedda1c477caa4ae0",
"revCount": 1372, "revCount": 1376,
"type": "git", "type": "git",
"url": "https://codeberg.org/LGFae/awww" "url": "https://codeberg.org/LGFae/awww"
}, },
@@ -446,11 +446,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1783963347, "lastModified": 1784789275,
"narHash": "sha256-r376E2XpakiXwModDHIxlvB6qLq4iFVEq730vxOO4JY=", "narHash": "sha256-cgRTWuG+u1tBPhm01JrId2k0Bni09phVJ1Q0BZlRd7M=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "a45a7c451455a51ae740ec3bce4024b312809c29", "rev": "3b0e6bbd65869af1beadf5963a99befc179d209f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -555,11 +555,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1783968442, "lastModified": 1784738137,
"narHash": "sha256-0YxCKOIiuoxgEfZQFdm8sdTH4DaNyL4yejWy1tF75V4=", "narHash": "sha256-+6Ei2gg7/ZdjieINcdNx/+BHgF+J59dOG8m65ZR0rnc=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "402eceea96ae77869d9ce9eb6c4dc088065936ab", "rev": "7d2ea270704c265dd100a7898e6186e49c6741a7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -601,11 +601,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1782563850, "lastModified": 1784196523,
"narHash": "sha256-rs/EzgrgPHbCtJjFZN4aR1HYldH/0NtGAempWVpWQTs=", "narHash": "sha256-ahtKMGXFJdlQNhatQm1+BBU/pGfGYnAqQt3vWvq4p8s=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-guiutils", "repo": "hyprland-guiutils",
"rev": "5ba080ee036c30cb2485f2647ff8a61f7aa08178", "rev": "a6ccb6cb112ed5a244c0191fb972347ecfa893e0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -732,11 +732,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1783002634, "lastModified": 1784323413,
"narHash": "sha256-xGqHIUK0wIZoW7SiMalwvO6uGOO/VrlQwoRobpE7dDI=", "narHash": "sha256-XnAVV+H4f8Xdv0yZcSwJ5kCjLyE8fHxPeLX6a3HSrAU=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "41fb809557abd29a57151b6e1aaeabd05f9437e1", "rev": "5f03477ab3a005ff27c527486f551883535aea2f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -820,11 +820,11 @@
}, },
"import-tree": { "import-tree": {
"locked": { "locked": {
"lastModified": 1778781969, "lastModified": 1784254960,
"narHash": "sha256-Jjuz5CmSkur8KvLDoGa+vylEp+RkQtv4mt/qcMznpH0=", "narHash": "sha256-iI88R3wHz8wTKQb5orvpc51L/Xr64AJyxid/0MKa/b8=",
"owner": "vic", "owner": "vic",
"repo": "import-tree", "repo": "import-tree",
"rev": "d321337efd0f23a9eb14a42adb7b2c29313ab274", "rev": "4ebb10ae17d5f1ad366e7aef5b92cb8eecf24f69",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -900,11 +900,11 @@
"scenefx": "scenefx" "scenefx": "scenefx"
}, },
"locked": { "locked": {
"lastModified": 1784002328, "lastModified": 1784771949,
"narHash": "sha256-gBTk5InJAhOo8ItqzIYDlJ1WkM5bQVPr2HMXC3NQrmQ=", "narHash": "sha256-ZsdV6ObmQtTupYJFKoyF/P0IL80mpLWwGHktWpi83iw=",
"owner": "DreamMaoMao", "owner": "DreamMaoMao",
"repo": "mango", "repo": "mango",
"rev": "cc210ad8a4fabadb1c609ff5d30abcbc24c05ea1", "rev": "3a159f4bf8b479fa5626f37a30eba5335e699f53",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -921,11 +921,11 @@
"nixpkgs-nixcord": "nixpkgs-nixcord" "nixpkgs-nixcord": "nixpkgs-nixcord"
}, },
"locked": { "locked": {
"lastModified": 1783998997, "lastModified": 1784802409,
"narHash": "sha256-jtxXqX+ycVFlY/6fZi4A635CsCiCJcht0/sGvr9oAAQ=", "narHash": "sha256-IkbeXL5pTJHW0pQbp0bjaa+DeRPsKMofB2cFf7G1qw0=",
"owner": "kaylorben", "owner": "kaylorben",
"repo": "nixcord", "repo": "nixcord",
"rev": "5e2ee31f6e3a1020ac821e749aea046b12e17252", "rev": "8f18918faa85bf53656a3e9d5ef068e8ec6dc9e5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -939,11 +939,11 @@
"nixpkgs": "nixpkgs_8" "nixpkgs": "nixpkgs_8"
}, },
"locked": { "locked": {
"lastModified": 1783792734, "lastModified": 1784723954,
"narHash": "sha256-50rvY9GdFvpYDcMLcD/4cWSi0hVxArT5wsGlVsHy8eY=", "narHash": "sha256-1CfD8ZUjCkTgjsneLZ/lxCHhgDfqxxE7/GX0MmsgiqA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "8efb4337e857949f4cfac86d12ef1066f417f31f", "rev": "a017f5b72210026af5b3ac5949f08d94380a6fbd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1001,11 +1001,11 @@
}, },
"nixpkgs-nixcord": { "nixpkgs-nixcord": {
"locked": { "locked": {
"lastModified": 1782999065, "lastModified": 1784432872,
"narHash": "sha256-5Dgj5+pIQYZKrXUGaLCk7CKfN3MmpwIhO94++WVxvng=", "narHash": "sha256-n3gKTBIV4ZA5VQpUakffBe3KGu4+mhPoA34rrqS0GkA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "80d591ed473cfc46329932c2aadac9b435342c7c", "rev": "fd1462031fdee08f65fd0b4c6b64e22239a77870",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1033,11 +1033,11 @@
}, },
"nixpkgs_10": { "nixpkgs_10": {
"locked": { "locked": {
"lastModified": 1783776592, "lastModified": 1784497964,
"narHash": "sha256-UgCQzxeWI75XM8G+hPrPh+MKzEPjG3SpAj7dtqSbksA=", "narHash": "sha256-vlHUuqAcbcH2RKmHbPiuQzbv1pnzzavXnI62RD0bqCU=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e7a3ca8092b61ff85b6a45bf863ea2b2d6a661b3", "rev": "241313f4e8e508cb9b13278c2b0fa25b9ca27163",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1097,11 +1097,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1783522502, "lastModified": 1784356753,
"narHash": "sha256-iffAls3iaNTyJC2faYcUXSI+Gp02cDjYl+MygxKl2GI=", "narHash": "sha256-12KrbMiWLcf8m7pCvAtZh1ZrgF85ZXDXvfR/fWTKy84=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0bb7ec54c8483066ec9d7720e780a5caa71f8612", "rev": "61b7c44c4073f0b827768aff0049561b5110ea5a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1161,11 +1161,11 @@
}, },
"nixpkgs_7": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1782999065, "lastModified": 1784432872,
"narHash": "sha256-5Dgj5+pIQYZKrXUGaLCk7CKfN3MmpwIhO94++WVxvng=", "narHash": "sha256-n3gKTBIV4ZA5VQpUakffBe3KGu4+mhPoA34rrqS0GkA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "80d591ed473cfc46329932c2aadac9b435342c7c", "rev": "fd1462031fdee08f65fd0b4c6b64e22239a77870",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1190,11 +1190,11 @@
}, },
"nixpkgs_9": { "nixpkgs_9": {
"locked": { "locked": {
"lastModified": 1783776592, "lastModified": 1784497964,
"narHash": "sha256-UgCQzxeWI75XM8G+hPrPh+MKzEPjG3SpAj7dtqSbksA=", "narHash": "sha256-vlHUuqAcbcH2RKmHbPiuQzbv1pnzzavXnI62RD0bqCU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e7a3ca8092b61ff85b6a45bf863ea2b2d6a661b3", "rev": "241313f4e8e508cb9b13278c2b0fa25b9ca27163",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1210,11 +1210,11 @@
"nixpkgs": "nixpkgs_10" "nixpkgs": "nixpkgs_10"
}, },
"locked": { "locked": {
"lastModified": 1784005913, "lastModified": 1784812182,
"narHash": "sha256-lTj6JbbA7n3HPrGVey14WuJyPYg5OIsnjG0Z5mt3Xu4=", "narHash": "sha256-EoQD/QSJspwQtOxPFbPccUCghTWAA3pof8elGaxOvOo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nur", "repo": "nur",
"rev": "a68ba8a2ae00c400e1ab3bb8aca32990f3f6e48b", "rev": "acde88ba322d6ba922e5f6bae1dfecce703f31eb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1255,11 +1255,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1783008725, "lastModified": 1784288435,
"narHash": "sha256-jGiy6+sxjNWXSjp25uoJuNfyH9zBK1PEDY0lVoL4ibQ=", "narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "bca82caa46d5ec0f5d422c61fb1e30bc51313cbe", "rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1523,11 +1523,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1771924703, "lastModified": 1784904497,
"narHash": "sha256-FdXguczx6AcfEnEPhKm76CdjsvAKQ88H4CHt43bhO6s=", "narHash": "sha256-fd7YDkswyy5IlKUJ3aRcrtCSh7ubcW9uMGWOIxFBovI=",
"owner": "tuxdotrs", "owner": "tuxdotrs",
"repo": "tpanel", "repo": "tpanel",
"rev": "9b8c4df5961eb541fd60e8ea424266790c3969a1", "rev": "fd5a96c4e84c62ec28c5596a5d3775f9523a2a56",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1541,11 +1541,11 @@
"nixpkgs": "nixpkgs_12" "nixpkgs": "nixpkgs_12"
}, },
"locked": { "locked": {
"lastModified": 1780220602, "lastModified": 1784369104,
"narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=", "narHash": "sha256-47cxbcZODibHv3rELFQ9vZly0vUNkND/atn/U7HLeb0=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "db947814a175b7ca6ded66e21383d938df01c227", "rev": "df3c0640565d04a0261253cdd89fce78ec50168a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1607,11 +1607,11 @@
"vicinae": "vicinae" "vicinae": "vicinae"
}, },
"locked": { "locked": {
"lastModified": 1783009133, "lastModified": 1784504910,
"narHash": "sha256-Non+frT3WG0TN60zCq63m8+d7yNmCCMaI363kZaDmPM=", "narHash": "sha256-fzPBEJZiRvc/FNMdpbdcfaZzF01U4IQenHW9IQFzhos=",
"owner": "vicinaehq", "owner": "vicinaehq",
"repo": "extensions", "repo": "extensions",
"rev": "afb84fe4b5253777ff82db8e19e6cc0c9b7f811f", "rev": "ca74eede9a778a9373c8f5fd221b0a5026dcd1ef",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1634,11 +1634,11 @@
}, },
"locked": { "locked": {
"dir": "nix", "dir": "nix",
"lastModified": 1783970654, "lastModified": 1784224552,
"narHash": "sha256-i7H0i1TCehmLE/gCp3lodhpmMQbiOmJ5d85YTO0KuBU=", "narHash": "sha256-+u0IHNwYJPb26F8WzMgNvLfZBDsR/sc13H5tOaXiEjA=",
"owner": "wez", "owner": "wez",
"repo": "wezterm", "repo": "wezterm",
"rev": "b32556667f05fdc8c202325246a6d2caf937bac3", "rev": "76b606ec597a3c0263fa60321548637451c0a547",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1677,11 +1677,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1782644412, "lastModified": 1784371182,
"narHash": "sha256-/iSa/bL1QQFLv+uJ9gI0N87J8gOeZXvca7EjoPGKE6w=", "narHash": "sha256-S8A1lezEalltWcCp3gAic5lssS0xTSISK6fKODefhOk=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "c01c99fc278ec68c82e9865923088f043c7c1621", "rev": "08d99f727944dd15e4740090305e31c5fb92a50a",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -4,20 +4,13 @@
inputs.treefmt-nix.flakeModule inputs.treefmt-nix.flakeModule
]; ];
perSystem = perSystem = {
{ treefmt.config = {
config, projectRootFile = "flake.nix";
pkgs, flakeCheck = true;
system, programs = {
... nixfmt.enable = true;
}:
{
treefmt.config = {
projectRootFile = "flake.nix";
flakeCheck = true;
programs = {
nixfmt.enable = true;
};
}; };
}; };
};
} }

View File

@@ -6,6 +6,7 @@
theme = "system"; theme = "system";
}; };
settings = { settings = {
model = "opencode-go/kimi-k3";
provider = { provider = {
google = { google = {
options = { options = {

View File

@@ -14,7 +14,7 @@
save = 1000000; save = 1000000;
path = "$HOME/.local/share/zsh/.zsh_history"; path = "$HOME/.local/share/zsh/.zsh_history";
}; };
syntaxHighlighting.enable = true; fastSyntaxHighlighting.enable = true;
autosuggestion.enable = true; autosuggestion.enable = true;
initContent = '' initContent = ''
${lib.getExe pkgs.fastfetch} ${lib.getExe pkgs.fastfetch}

View File

@@ -3,6 +3,7 @@
flake.modules.nixos.canopus = flake.modules.nixos.canopus =
{ {
lib, lib,
pkgs,
system, system,
... ...
}@innerArgs: }@innerArgs:
@@ -14,6 +15,7 @@
] ]
++ [ inputs.nixos-hardware.nixosModules.asus-zephyrus-ga503 ]; ++ [ inputs.nixos-hardware.nixosModules.asus-zephyrus-ga503 ];
boot.kernelParams = [ "nvidia-drm.modeset=1" ];
boot.initrd.availableKernelModules = [ boot.initrd.availableKernelModules = [
"nvme" "nvme"
"xhci_pci" "xhci_pci"
@@ -26,16 +28,25 @@
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
hardware.cpu.amd.updateMicrocode = lib.mkDefault innerArgs.config.hardware.enableRedistributableFirmware; hardware = {
nvidia = {
modesetting.enable = true;
open = false;
nvidiaSettings = true;
};
cpu.amd.updateMicrocode = lib.mkDefault innerArgs.config.hardware.enableRedistributableFirmware;
};
services = { services = {
xserver.videoDrivers = [ "nvidia" ];
power-profiles-daemon.enable = true; power-profiles-daemon.enable = true;
upower.enable = true; upower.enable = true;
supergfxd = { supergfxd = {
enable = true; enable = true;
settings = { settings = {
mode = "Integrated"; mode = "Hybrid";
vfio_enable = false; vfio_enable = false;
vfio_save = false; vfio_save = false;
always_reboot = false; always_reboot = false;
@@ -129,6 +140,11 @@
}; };
networking.useDHCP = lib.mkDefault true; networking.useDHCP = lib.mkDefault true;
nixpkgs.config.cudaSupport = true;
nixpkgs.hostPlatform = lib.mkDefault system; nixpkgs.hostPlatform = lib.mkDefault system;
environment.systemPackages = with pkgs; [
nvtopPackages.full
];
}; };
} }

View File

@@ -1,6 +1,6 @@
{ config, ... }: { config, ... }:
{ {
flake.modules.homeManager.canopus = { flake.modules.homeManager.canopus = { pkgs, ... }: {
imports = with config.flake.modules.homeManager; [ imports = with config.flake.modules.homeManager; [
desktop desktop
]; ];
@@ -34,6 +34,54 @@
}; };
}; };
home.packages = with pkgs; [
(writeShellScriptBin "mirror-display" ''
hyprctl eval 'hl.monitor({
output = "eDP-1",
mode = "2560x1440@165",
position = "0x0",
scale = "1",
disabled = false
})' &&
hyprctl eval 'hl.monitor({
output = "HDMI-A-1",
mode = "preferred",
position = "auto",
scale = "1",
mirror = "eDP-1"
})'
'')
(writeShellScriptBin "extend-display" ''
hyprctl eval 'hl.monitor({
output = "eDP-1",
mode = "2560x1440@165",
position = "0x0",
scale = "1",
disabled = false
})' &&
hyprctl eval 'hl.monitor({
output = "HDMI-A-1",
mode = "preferred",
position = "0x-1440",
scale = "1",
mirror = ""
})'
'')
(writeShellScriptBin "dock-display" ''
hyprctl eval 'hl.monitor({
output = "eDP-1",
disabled = true
})' &&
hyprctl eval 'hl.monitor({
output = "HDMI-A-1",
mode = "preferred",
position = "0x0",
scale = "1",
mirror = ""
})'
'')
];
home.stateVersion = "26.05"; home.stateVersion = "26.05";
}; };
} }

View File

@@ -0,0 +1,13 @@
{
flake.modules.nixos.desktop =
{ pkgs, ... }:
{
programs.gpu-screen-recorder = {
enable = true;
};
environment.systemPackages = with pkgs; [
gpu-screen-recorder-gtk
];
};
}