Merge branch 'zenix/master' into alpine/master

This commit is contained in:
Tristan 2025-06-22 16:37:02 +01:00
commit 75fb589952
7 changed files with 175 additions and 165 deletions

106
flake.lock generated
View file

@ -67,6 +67,30 @@
"type": "github" "type": "github"
} }
}, },
"cosmic-manager": {
"inputs": {
"flake-parts": "flake-parts",
"home-manager": [
"home-manager"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1744387566,
"narHash": "sha256-O39zTv7LdRgr4Hw38d+eQG2LYpP75rw2XKqTGV5qzgs=",
"owner": "HeitorAugustoLN",
"repo": "cosmic-manager",
"rev": "52d3fdd080a9dd4639948687682a68282fbf0314",
"type": "github"
},
"original": {
"owner": "HeitorAugustoLN",
"repo": "cosmic-manager",
"type": "github"
}
},
"firefox-gnome-theme": { "firefox-gnome-theme": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -101,16 +125,16 @@
"flake-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"nixvim", "cosmic-manager",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1743550720, "lastModified": 1738453229,
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "c621e8422220273271f52058f618c94e405bb0f5", "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -120,6 +144,27 @@
} }
}, },
"flake-parts_2": { "flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1749398372,
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_3": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"stylix", "stylix",
@ -246,11 +291,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1748665073, "lastModified": 1749154018,
"narHash": "sha256-RMhjnPKWtCoIIHiuR9QKD7xfsKb3agxzMfJY8V9MOew=", "narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "282e1e029cb6ab4811114fc85110613d72771dea", "rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -346,11 +391,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1749024892, "lastModified": 1750400657,
"narHash": "sha256-OGcDEz60TXQC+gVz5sdtgGJdKVYr6rwdzQKuZAJQpCA=", "narHash": "sha256-3vkjFnxCOP6vm5Pm13wC/Zy6/VYgei/I/2DWgW4RFeA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "8f1b52b04f2cb6e5ead50bd28d76528a2f0380ef", "rev": "b2485d56967598da068b5a6946dadda8bfcbcd37",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -361,11 +406,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1748693115, "lastModified": 1750134718,
"narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=", "narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "910796cabe436259a29a72e8d3f5e180fc6dfacc", "rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -377,7 +422,7 @@
}, },
"nixvim": { "nixvim": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts_2",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
@ -385,11 +430,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1748975233, "lastModified": 1750149910,
"narHash": "sha256-eLz/5C3qQN8w7dyLnY8zKdwLuHuS03s8csuLjTis2No=", "narHash": "sha256-M0WNjAy2FCHJAb1hEp+J2gnMk707K5/iTA24amEu/s8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "8917e2e8ecc957037c712145ddcfce08d00c1cad", "rev": "1252966779a5632a3cd5238e442d55a1d2f56660",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -435,11 +480,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1748298102, "lastModified": 1749730855,
"narHash": "sha256-PP11GVwUt7F4ZZi5A5+99isuq39C59CKc5u5yVisU/U=", "narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=",
"owner": "NuschtOS", "owner": "NuschtOS",
"repo": "search", "repo": "search",
"rev": "f8a1c221afb8b4c642ed11ac5ee6746b0fe1d32f", "rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -450,6 +495,7 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"cosmic-manager": "cosmic-manager",
"home-manager": "home-manager", "home-manager": "home-manager",
"musnix": "musnix", "musnix": "musnix",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
@ -466,11 +512,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1747603214, "lastModified": 1750119275,
"narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=", "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd", "rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -487,7 +533,7 @@
"base16-vim": "base16-vim", "base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme", "firefox-gnome-theme": "firefox-gnome-theme",
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_3",
"git-hooks": "git-hooks", "git-hooks": "git-hooks",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
@ -503,11 +549,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1749058304, "lastModified": 1750370365,
"narHash": "sha256-8fUXBczmQ7/Y8nrc988oaN4M7YZz/RbzZa0n1d8i3GM=", "narHash": "sha256-Yblt2LusglzBXlg+ekckztIUgvl1WQwJ7gLRJEt/IHE=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "689d4db89d3be6fd82b7dcb41a1cea5c4743b1ef", "rev": "cc82dae884f45ffeb996d2b5116afa70933e507f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -670,11 +716,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1748971473, "lastModified": 1750219862,
"narHash": "sha256-0Xh6sZI86Ops6u7wyDQlVvV+MvRRXIDb1r3sMnLNk9M=", "narHash": "sha256-wce+erYDBm6wpLJm6IJh85KYqy/NtdKp6DZQCn4YP1Q=",
"owner": "youwen5", "owner": "youwen5",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "5cc269976ca876674d8ccc7f40debb61e05583ab", "rev": "18d6cd2f5a9cd1527d478d4f716e9b9ee6fb6cbb",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -22,6 +22,13 @@
zen-browser = { zen-browser = {
url = "github:youwen5/zen-browser-flake"; url = "github:youwen5/zen-browser-flake";
}; };
cosmic-manager = {
url = "github:HeitorAugustoLN/cosmic-manager";
inputs = {
nixpkgs.follows = "nixpkgs";
home-manager.follows = "home-manager";
};
};
}; };
outputs = {nixvim, ...} @ inputs: let outputs = {nixvim, ...} @ inputs: let
@ -43,12 +50,12 @@
./nixos/programs/personal.nix ./nixos/programs/personal.nix
./nixos/services/musnix.nix ./nixos/services/musnix.nix
./nixos/workstation.nix ./nixos/workstation.nix
./nixos/programs/hyprland.nix
]; ];
home-modules = [ home-modules = [
./home/programs/graphical.nix ./home/programs/graphical.nix
./home/programs/gamer.nix ./home/programs/gamer.nix
./home/programs/personal/. ./home/programs/personal/.
./home/desktop/cosmic/.
]; ];
}; };
@ -135,24 +142,6 @@
]; ];
}; };
vm-hyprland =
builtins.trace ''
use super+enter to start a terminal.
use super+d to launch applications
Hyprland is VERY SLOW in the VM.
start with '-vga virtio'
''
mkConf
{
nixos-modules = [
./hardware/vm.nix
(auto-login "Hyprland")
./nixos/programs/hyprland.nix
];
};
vm-tty = vm-tty =
mkConf mkConf
{ {

View file

@ -31,19 +31,12 @@ in {
options = ["noatime"]; options = ["noatime"];
}; };
boot.initrd.luks.devices."usbkey" = { # boot.initrd.luks.devices."usbkey" = {
device = "/dev/disk/by-label/usbkey1"; # device = "/dev/disk/by-label/usbkey1";
}; # };
boot.initrd.luks.devices."cryptroot" = { boot.initrd.luks.devices."cryptroot" = {
device = "/dev/disk/by-uuid/cc0617df-8cbf-4618-abbc-df64c96de151"; device = "/dev/disk/by-uuid/cc0617df-8cbf-4618-abbc-df64c96de151";
keyFileSize = 4096;
preOpenCommands = ''
mkdir -m 0755 -p /key
mount -n -o ro /dev/mapper/usbkey /key
'';
keyFile = "/key/keyfile";
preLVM = false;
}; };
fileSystems."/home" = { fileSystems."/home" = {

View file

@ -2,101 +2,103 @@
pkgs, pkgs,
config, config,
lib, lib,
inputs,
... ...
}: let }: let
inherit (config.lib.cosmic) Actions mapBinds; inherit (config.lib.cosmic) mkRON;
SpawnTerminal = name: pkg: mkAction = variant: action: mkRON "enum" {
Actions.Spawn (pkgs.writeShellScriptBin name "${lib.getExe config.programs.terminal} -e ${lib.getExe pkg}"); inherit variant;
value = [
(mkRON "enum" action)
];
};
in { in {
programs.cosmic = { imports = [inputs.cosmic-manager.homeManagerModules.cosmic-manager];
wayland.desktopManager.cosmic = {
enable = true; enable = true;
input.asDefaults = true;
input.binds = mapBinds { systemActions = mkRON "map" [
# Navigation {
Super. "h" = Actions.Focus "Left"; key = mkRON "enum" "Terminal";
Super. "l" = Actions.Focus "Right"; value = lib.getExe config.programs.terminal;
Super. "j" = Actions.Focus "Down"; }
Super. "k" = Actions.Focus "Up";
Super. "u" = Actions.Focus "Out";
Super. "i" = Actions.Focus "In";
Super.Shift. "h" = Actions.Move "Left";
Super.Shift. "l" = Actions.Move "Right";
Super.Shift. "j" = Actions.Move "Down";
Super.Shift. "k" = Actions.Move "Up";
Super.Shift. "Right" = Actions.MoveToNextWorkspace;
Super.Shift. "Left" = Actions.MoveToPreviousWorkspace;
Super. "1" = Actions.Workspace 1;
Super. "2" = Actions.Workspace 2;
Super. "3" = Actions.Workspace 3;
Super. "4" = Actions.Workspace 4;
Super. "5" = Actions.Workspace 5;
Super.Shift. "1" = Actions.MoveToWorkspace 1;
Super.Shift. "2" = Actions.MoveToWorkspace 2;
Super.Shift. "3" = Actions.MoveToWorkspace 3;
Super.Shift. "4" = Actions.MoveToWorkspace 4;
Super.Shift. "5" = Actions.MoveToWorkspace 5;
Super. "Space" = Actions.ToggleWindowFloating;
Super. "f" = Actions.Maximize;
Super. "m" = Actions.Minimize;
Super.Shift. "x" = Actions.Close;
Super.Shift. "v" = Actions.ToggleStacking;
Super.Shift. "y" = Actions.ToggleSticky;
# System
Super. "d" = Actions.Spawn config.programs.menu.drunCommand;
Super. "Return" = Actions.Spawn config.programs.terminal;
Super. "e" = SpawnTerminal "aerc" config.programs.aerc.package;
Super. "o" = Actions.System "HomeFolder";
Super.Shift. "s" = Actions.System "Screenshot";
"XF86AudioRaiseVolume" = Actions.System "VolumeRaise";
"XF86AudioLowerVolume" = Actions.System "VolumeLower";
"XF86AudioPlay" = Actions.System "PlayPause";
"XF86AudioNext" = Actions.System "PlayNext";
"XF86AudioPrev" = Actions.System "PlayPrev";
"XF86MonBrightnessUp" = Actions.System "BrightnessUp";
"XF86MonBrightnessDown" = Actions.System "BrightnessDown";
};
background = {
displays = {
all = {
source = lib.mkDefault config.stylix.image;
};
};
};
panels = {
"Bar" = {
applets = {
start = [
"com.system76.CosmicAppletWorkspaces"
]; ];
center = [
"com.system76.CosmicAppletMinimize" shortcuts = [
{
action = mkAction "System" "Terminal";
key = "Super+Return";
}
]; ];
end = [
compositor = {
autotile = true;
focus_follows_cursor = true;
input_default = mkRON "optional" {
profile = (mkRON "optional" (mkRON "enum" "Flat"));
speed = 0.0;
};
};
wallpapers = [
{
filter_by_theme = true;
filter_method = mkRON "enum" "Lanczos";
output = "all";
rotation_frequency = 600;
sampling_method = mkRON "enum" "Alphanumeric";
scaling_mode = mkRON "enum" {
value = [
(mkRON "tuple" [
0.5
1.0
(mkRON "raw" "0.345354352")
])
];
variant = "Fit";
};
source = mkRON "enum" {
value = [ (toString config.stylix.image) ];
variant = "Path";
};
}
];
panels = [
{
anchor = mkRON "enum" "Top";
anchor_gap = false;
autohide = mkRON "optional" null;
background = mkRON "enum" "Dark";
expand_to_edges = true;
name = "Panel";
opacity = 1.0;
output = mkRON "enum" "All";
plugins_center = mkRON "optional" [
"com.system76.CosmicAppletTime" "com.system76.CosmicAppletTime"
];
plugins_wings = mkRON "optional" (mkRON "tuple" [
[
"com.system76.CosmicPanelWorkspacesButton"
"com.system76.CosmicPanelAppButton"
"com.system76.CosmicAppletWorkspaces"
]
[
"com.system76.CosmicAppletInputSources"
"com.system76.CosmicAppletStatusArea"
"com.system76.CosmicAppletTiling" "com.system76.CosmicAppletTiling"
"com.system76.CosmicAppletAudio" "com.system76.CosmicAppletAudio"
"com.system76.CosmicAppletNetwork" "com.system76.CosmicAppletNetwork"
"com.system76.CosmicAppletBattery"
"com.system76.CosmicAppletNotifications" "com.system76.CosmicAppletNotifications"
"com.system76.CosmicAppletStatusArea" "com.system76.CosmicAppletBluetooth"
"com.system76.CosmicAppletPower" "com.system76.CosmicAppletPower"
]
]);
size = mkRON "enum" "XS";
}
]; ];
}; };
options = {
size = "XS";
border_radius = 0;
};
};
};
comp.settings = {
autotile = true;
active_hint = true;
focus_follows_cursor = true;
focus_follows_cursor_delay = 0;
cursor_follows_focus = true;
descale_xwayland = true;
workspaces = {
workspace_layout = "Horizontal";
};
};
};
} }

View file

@ -8,15 +8,6 @@
}; };
config = { config = {
programs.alacritty = {
enable = true;
settings = {
window = {
dynamic_title = true;
};
};
};
programs.foot = { programs.foot = {
enable = true; enable = true;
}; };

View file

@ -15,7 +15,7 @@
# tools # tools
inkscape inkscape
kdePackages.okular kdePackages.okular
gimp gimp3
libreoffice libreoffice
dbeaver-bin dbeaver-bin
zed-editor zed-editor
@ -26,6 +26,7 @@
shortwave shortwave
youtube-music youtube-music
transmission_4-gtk transmission_4-gtk
feishin
# other # other
element-desktop element-desktop

View file

@ -3,18 +3,6 @@
config, config,
... ...
}: { }: {
# imports = [
# inputs.nixos-cosmic.nixosModules.default
# ];
# nix.settings = {
# substituters = ["https://cosmic.cachix.org/"];
# trusted-public-keys = ["cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="];
# };
services.desktopManager.cosmic.enable = true; services.desktopManager.cosmic.enable = true;
services.displayManager.cosmic-greeter.enable = true; services.displayManager.cosmic-greeter.enable = true;
# services.system76-scheduler.enable = true;
# home-manager.users.${config.user}.imports = [
# (inputs.hm-cosmic.homeManagerModules.cosmic)
# ../../home/desktop/cosmic/.
# ];
} }