This commit is contained in:
2025-03-03 18:50:51 +02:00
parent 15f3bf07e7
commit 25549279f2
11 changed files with 159 additions and 20 deletions

96
flake.lock generated
View File

@ -152,6 +152,22 @@
} }
}, },
"flake-compat": { "flake-compat": {
"flake": false,
"locked": {
"lastModified": 1717312683,
"narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=",
"owner": "nix-community",
"repo": "flake-compat",
"rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"locked": { "locked": {
"lastModified": 1733328505, "lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
@ -544,14 +560,17 @@
"mysecrets": { "mysecrets": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1740938100, "lastModified": 1740942589,
"narHash": "sha256-MjcA5IFJq5B7uBO+Bj676txMlsR3NraI13hJ4B9Fz/E=", "narHash": "sha256-ND33Zox6hj7DrcjtIEMuAZ7zwToy1iC3hmRjiWQclK4=",
"path": "/home/user/nix-secrets", "ref": "refs/heads/main",
"type": "path" "rev": "764a6753bc3e24df936060f7314e9da9a29b06e5",
"revCount": 7,
"type": "git",
"url": "ssh://gitea@gitea.linerds.us/unexplrd/nix-secrets"
}, },
"original": { "original": {
"path": "/home/user/nix-secrets", "type": "git",
"type": "path" "url": "ssh://gitea@gitea.linerds.us/unexplrd/nix-secrets"
} }
}, },
"neve": { "neve": {
@ -636,7 +655,59 @@
"type": "github" "type": "github"
} }
}, },
"nixos-cosmic": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1741007352,
"narHash": "sha256-WCTnr6woW0tWym72HKJxwAPNDig1krmNTNjPmvr1Hmo=",
"owner": "lilyinstarlight",
"repo": "nixos-cosmic",
"rev": "dba95629ddebe2e598a6112a34c3fb7f77d61f2b",
"type": "github"
},
"original": {
"owner": "lilyinstarlight",
"repo": "nixos-cosmic",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": {
"lastModified": 1740828860,
"narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "303bd8071377433a2d8f76e684ec773d70c5b642",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1740865531,
"narHash": "sha256-h00vGIh/jxcGl8aWdfnVRD74KuLpyY3mZgMFMy7iKIc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5ef6c425980847c78a80d759abc476e941a9bf42",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1740367490, "lastModified": 1740367490,
"narHash": "sha256-WGaHVAjcrv+Cun7zPlI41SerRtfknGQap281+AakSAw=", "narHash": "sha256-WGaHVAjcrv+Cun7zPlI41SerRtfknGQap281+AakSAw=",
@ -652,7 +723,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1738797219, "lastModified": 1738797219,
"narHash": "sha256-KRwX9Z1XavpgeSDVM/THdFd6uH8rNm/6R+7kIbGa+2s=", "narHash": "sha256-KRwX9Z1XavpgeSDVM/THdFd6uH8rNm/6R+7kIbGa+2s=",
@ -668,7 +739,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1740367490, "lastModified": 1740367490,
"narHash": "sha256-WGaHVAjcrv+Cun7zPlI41SerRtfknGQap281+AakSAw=", "narHash": "sha256-WGaHVAjcrv+Cun7zPlI41SerRtfknGQap281+AakSAw=",
@ -687,7 +758,7 @@
"nixvim": { "nixvim": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_3",
"nuschtosSearch": "nuschtosSearch" "nuschtosSearch": "nuschtosSearch"
}, },
"locked": { "locked": {
@ -760,7 +831,8 @@
"neve": "neve", "neve": "neve",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nix-index-database": "nix-index-database", "nix-index-database": "nix-index-database",
"nixpkgs": "nixpkgs", "nixos-cosmic": "nixos-cosmic",
"nixpkgs": "nixpkgs_2",
"nixvim": "nixvim", "nixvim": "nixvim",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"stylix": "stylix", "stylix": "stylix",
@ -811,12 +883,12 @@
"base16-helix": "base16-helix", "base16-helix": "base16-helix",
"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_2",
"flake-utils": "flake-utils_4", "flake-utils": "flake-utils_4",
"git-hooks": "git-hooks", "git-hooks": "git-hooks",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",
"home-manager": "home-manager_3", "home-manager": "home-manager_3",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_4",
"nur": "nur", "nur": "nur",
"systems": "systems_5", "systems": "systems_5",
"tinted-foot": "tinted-foot", "tinted-foot": "tinted-foot",

View File

@ -6,6 +6,7 @@
nix-flatpak.url = "github:gmodena/nix-flatpak"; nix-flatpak.url = "github:gmodena/nix-flatpak";
stylix.url = "github:danth/stylix"; stylix.url = "github:danth/stylix";
nixvim.url = "github:nix-community/nixvim"; nixvim.url = "github:nix-community/nixvim";
nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic";
lix = { lix = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.tar.gz"; url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.tar.gz";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";

View File

@ -18,7 +18,8 @@
]; ];
desktop = { desktop = {
hyprland.enable = true; # hyprland.enable = true;
cosmic.enable = true;
}; };
nix = { nix = {

View File

@ -108,6 +108,7 @@ in {
f8 = "mute"; f8 = "mute";
f9 = "volumedown"; f9 = "volumedown";
f10 = "volumeup"; f10 = "volumeup";
f13 = "printscreen";
back = "back"; back = "back";
forward = "forward"; forward = "forward";
refresh = "refresh"; refresh = "refresh";

View File

@ -1,10 +1,25 @@
{pkgs, ...}: { {
inputs,
config,
pkgs,
...
}: let
sopSec = config.sops.secrets;
secrets = inputs.mysecrets;
in {
nix.settings.trusted-users = ["user"]; nix.settings.trusted-users = ["user"];
users.mutableUsers = false;
users.users = { users.users = {
user = { user = {
hashedPasswordFile = sopSec."user-password-hashed".path;
# passwordFile = config.sops.secrets.user-password.path;
isNormalUser = true; isNormalUser = true;
extraGroups = ["wheel" "video" "libvirtd" "dialout"]; extraGroups = ["wheel" "video" "libvirtd" "dialout"];
shell = pkgs.fish; shell = pkgs.fish;
openssh.authorizedKeys.keyFiles = [
"${secrets}/ssh/id_ed25519_sarien_user.pub"
"${secrets}/ssh/id_ed25519_eldrid_user.pub"
];
}; };
# work = { # work = {
# isNormalUser = true; # isNormalUser = true;

View File

@ -1,11 +1,12 @@
{inputs, ...}: { {inputs, ...}: {
imports = with inputs; [ imports = with inputs; [
nix-index-database.hmModules.nix-index
self.homeModules.desktop self.homeModules.desktop
self.homeModules.programs self.homeModules.programs
./programs.nix ./programs.nix
./flatpak.nix ./flatpak.nix
]; ];
desktop.hyprland.enable = true; # desktop.hyprland.enable = true;
home = { home = {
stateVersion = "25.05"; stateVersion = "25.05";
sessionPath = [ sessionPath = [

View File

@ -1,11 +1,13 @@
{pkgs, ...}: { {pkgs, ...}: {
shell = { shell = {
fish.enable = true; fish.enable = true;
nushell.enable = false;
oh-my-posh.enable = true; oh-my-posh.enable = true;
}; };
console.yazi.enable = true; console.yazi.enable = true;
stylix.targets.fzf.enable = false;
programs = { programs = {
bat.enable = true; bat.enable = true;
btop = { btop = {
@ -14,7 +16,13 @@
}; };
eza.enable = true; eza.enable = true;
fd.enable = true; fd.enable = true;
fzf.enable = true; fzf = {
enable = true;
defaultOptions = ["--color=16"];
};
pay-respects.enable = true;
nix-index.enable = true;
nix-index-database.comma.enable = true;
gitui.enable = true; gitui.enable = true;
git = { git = {
enable = true; enable = true;
@ -37,6 +45,7 @@
editor = { editor = {
helix.enable = true; helix.enable = true;
neve.enable = true; neve.enable = true;
zed.enable = true;
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
@ -44,15 +53,16 @@
flatpak # flatpak cli flatpak # flatpak cli
trashy # trash cli trashy # trash cli
procs # ps in rust procs # ps in rust
ouch # archive manager in runt
dust # du in rust dust # du in rust
fend # calc in rust fend # calc in rust
moar # better pager
tree # tree util tree # tree util
rbw # bitwarden cli in rust rbw # bitwarden cli in rust
pinentry-qt # pinentry for rbw pinentry-qt # pinentry for rbw
zip # zip util
vial # qmk keyboard configuring app vial # qmk keyboard configuring app
unzip # unzip util
waycheck # check wayland protocols waycheck # check wayland protocols
virt-manager # libvirt gui virt-manager # libvirt gui
]; ];
systemd.user.settings.Manager.DefaultEnvironment.PAGER = "moar";
} }

View File

@ -221,7 +221,6 @@ in {
"$mod, Return, exec, $terminal" "$mod, Return, exec, $terminal"
"$mod, Space, exec, $dlauncher" "$mod, Space, exec, $dlauncher"
"$modShift, Space, exec, $launcher" "$modShift, Space, exec, $launcher"
"$mod, Escape, exec, hyprctl switchxkblayout all next"
"$modCtrl, Q, killactive" "$modCtrl, Q, killactive"
"$modCtrl, M, fullscreen" "$modCtrl, M, fullscreen"
"$modCtrl, G, togglefloating" "$modCtrl, G, togglefloating"
@ -345,6 +344,7 @@ in {
# "$modShift, period, resizeactive, 0 10" # "$modShift, period, resizeactive, 0 10"
# ]; # ];
bindl = [ bindl = [
"$mod, Escape, exec, hyprctl switchxkblayout all next"
", switch:on:Lid Switch, exec, hyprctl keyword monitor 'eDP-1, disable'" ", switch:on:Lid Switch, exec, hyprctl keyword monitor 'eDP-1, disable'"
", switch:off:Lid Switch, exec, hyprctl keyword monitor 'eDP-1, preferred, 1920x0, 1.2'" ", switch:off:Lid Switch, exec, hyprctl keyword monitor 'eDP-1, preferred, 1920x0, 1.2'"
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"

View File

@ -33,7 +33,7 @@ in {
enable = true; enable = true;
shellAliases = { shellAliases = {
cd = "z"; cd = "z";
cat = "bat"; # cat = "bat";
la = "ls -a"; la = "ls -a";
l = "ls -la"; l = "ls -la";
}; };

View File

@ -0,0 +1,37 @@
{
config,
inputs,
pkgs,
lib,
...
}: let
cfg = config.desktop.cosmic;
in {
imports = with inputs; [
./common/pipewire.nix
nixos-cosmic.nixosModules.default
];
options = {
desktop.cosmic.enable =
lib.mkEnableOption "enable cosmic desktop";
};
config = lib.mkIf cfg.enable {
nix.settings = {
substituters = ["https://cosmic.cachix.org/"];
trusted-public-keys = ["cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="];
};
services.desktopManager.cosmic.enable = true;
services.displayManager.cosmic-greeter.enable = true;
xdg.portal = {
enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-cosmic
xdg-desktop-portal-gtk
];
config.common.default = [
"cosmic"
"gtk"
];
};
};
}

View File

@ -1,6 +1,7 @@
{ {
imports = [ imports = [
./niri.nix ./niri.nix
./cosmic.nix
./plasma.nix ./plasma.nix
./hyprland.nix ./hyprland.nix
]; ];