diff --git a/flake.lock b/flake.lock index 7e4b0b1..4880ec2 100644 --- a/flake.lock +++ b/flake.lock @@ -152,6 +152,22 @@ } }, "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": { "lastModified": 1733328505, "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", @@ -544,14 +560,17 @@ "mysecrets": { "flake": false, "locked": { - "lastModified": 1740938100, - "narHash": "sha256-MjcA5IFJq5B7uBO+Bj676txMlsR3NraI13hJ4B9Fz/E=", - "path": "/home/user/nix-secrets", - "type": "path" + "lastModified": 1740942589, + "narHash": "sha256-ND33Zox6hj7DrcjtIEMuAZ7zwToy1iC3hmRjiWQclK4=", + "ref": "refs/heads/main", + "rev": "764a6753bc3e24df936060f7314e9da9a29b06e5", + "revCount": 7, + "type": "git", + "url": "ssh://gitea@gitea.linerds.us/unexplrd/nix-secrets" }, "original": { - "path": "/home/user/nix-secrets", - "type": "path" + "type": "git", + "url": "ssh://gitea@gitea.linerds.us/unexplrd/nix-secrets" } }, "neve": { @@ -636,7 +655,59 @@ "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": { + "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": { "lastModified": 1740367490, "narHash": "sha256-WGaHVAjcrv+Cun7zPlI41SerRtfknGQap281+AakSAw=", @@ -652,7 +723,7 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs_3": { "locked": { "lastModified": 1738797219, "narHash": "sha256-KRwX9Z1XavpgeSDVM/THdFd6uH8rNm/6R+7kIbGa+2s=", @@ -668,7 +739,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1740367490, "narHash": "sha256-WGaHVAjcrv+Cun7zPlI41SerRtfknGQap281+AakSAw=", @@ -687,7 +758,7 @@ "nixvim": { "inputs": { "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nuschtosSearch": "nuschtosSearch" }, "locked": { @@ -760,7 +831,8 @@ "neve": "neve", "nix-flatpak": "nix-flatpak", "nix-index-database": "nix-index-database", - "nixpkgs": "nixpkgs", + "nixos-cosmic": "nixos-cosmic", + "nixpkgs": "nixpkgs_2", "nixvim": "nixvim", "sops-nix": "sops-nix", "stylix": "stylix", @@ -811,12 +883,12 @@ "base16-helix": "base16-helix", "base16-vim": "base16-vim", "firefox-gnome-theme": "firefox-gnome-theme", - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-utils": "flake-utils_4", "git-hooks": "git-hooks", "gnome-shell": "gnome-shell", "home-manager": "home-manager_3", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "nur": "nur", "systems": "systems_5", "tinted-foot": "tinted-foot", diff --git a/flake.nix b/flake.nix index 3e81b04..c6e8233 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,7 @@ nix-flatpak.url = "github:gmodena/nix-flatpak"; stylix.url = "github:danth/stylix"; nixvim.url = "github:nix-community/nixvim"; + nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic"; lix = { url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.tar.gz"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/hosts/eldrid/configuration.nix b/hosts/eldrid/configuration.nix index fc53041..edeee97 100644 --- a/hosts/eldrid/configuration.nix +++ b/hosts/eldrid/configuration.nix @@ -18,7 +18,8 @@ ]; desktop = { - hyprland.enable = true; + # hyprland.enable = true; + cosmic.enable = true; }; nix = { diff --git a/hosts/eldrid/hardware-conf.nix b/hosts/eldrid/hardware-conf.nix index f963dca..adc6f46 100755 --- a/hosts/eldrid/hardware-conf.nix +++ b/hosts/eldrid/hardware-conf.nix @@ -108,6 +108,7 @@ in { f8 = "mute"; f9 = "volumedown"; f10 = "volumeup"; + f13 = "printscreen"; back = "back"; forward = "forward"; refresh = "refresh"; diff --git a/hosts/eldrid/users.nix b/hosts/eldrid/users.nix index f92dbe9..5d91211 100644 --- a/hosts/eldrid/users.nix +++ b/hosts/eldrid/users.nix @@ -1,10 +1,25 @@ -{pkgs, ...}: { +{ + inputs, + config, + pkgs, + ... +}: let + sopSec = config.sops.secrets; + secrets = inputs.mysecrets; +in { nix.settings.trusted-users = ["user"]; + users.mutableUsers = false; users.users = { user = { + hashedPasswordFile = sopSec."user-password-hashed".path; + # passwordFile = config.sops.secrets.user-password.path; isNormalUser = true; extraGroups = ["wheel" "video" "libvirtd" "dialout"]; shell = pkgs.fish; + openssh.authorizedKeys.keyFiles = [ + "${secrets}/ssh/id_ed25519_sarien_user.pub" + "${secrets}/ssh/id_ed25519_eldrid_user.pub" + ]; }; # work = { # isNormalUser = true; diff --git a/hosts/eldrid/users/user/home-configuration.nix b/hosts/eldrid/users/user/home-configuration.nix index 0811d9d..2aca31a 100644 --- a/hosts/eldrid/users/user/home-configuration.nix +++ b/hosts/eldrid/users/user/home-configuration.nix @@ -1,11 +1,12 @@ {inputs, ...}: { imports = with inputs; [ + nix-index-database.hmModules.nix-index self.homeModules.desktop self.homeModules.programs ./programs.nix ./flatpak.nix ]; - desktop.hyprland.enable = true; + # desktop.hyprland.enable = true; home = { stateVersion = "25.05"; sessionPath = [ diff --git a/hosts/eldrid/users/user/programs.nix b/hosts/eldrid/users/user/programs.nix index c586b0d..5e99840 100644 --- a/hosts/eldrid/users/user/programs.nix +++ b/hosts/eldrid/users/user/programs.nix @@ -1,11 +1,13 @@ {pkgs, ...}: { shell = { fish.enable = true; + nushell.enable = false; oh-my-posh.enable = true; }; console.yazi.enable = true; + stylix.targets.fzf.enable = false; programs = { bat.enable = true; btop = { @@ -14,7 +16,13 @@ }; eza.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; git = { enable = true; @@ -37,6 +45,7 @@ editor = { helix.enable = true; neve.enable = true; + zed.enable = true; }; home.packages = with pkgs; [ @@ -44,15 +53,16 @@ flatpak # flatpak cli trashy # trash cli procs # ps in rust + ouch # archive manager in runt dust # du in rust fend # calc in rust + moar # better pager tree # tree util rbw # bitwarden cli in rust pinentry-qt # pinentry for rbw - zip # zip util vial # qmk keyboard configuring app - unzip # unzip util waycheck # check wayland protocols virt-manager # libvirt gui ]; + systemd.user.settings.Manager.DefaultEnvironment.PAGER = "moar"; } diff --git a/modules/home/desktop/hyprland/default.nix b/modules/home/desktop/hyprland/default.nix index 71e8db3..c4eb8dc 100644 --- a/modules/home/desktop/hyprland/default.nix +++ b/modules/home/desktop/hyprland/default.nix @@ -221,7 +221,6 @@ in { "$mod, Return, exec, $terminal" "$mod, Space, exec, $dlauncher" "$modShift, Space, exec, $launcher" - "$mod, Escape, exec, hyprctl switchxkblayout all next" "$modCtrl, Q, killactive" "$modCtrl, M, fullscreen" "$modCtrl, G, togglefloating" @@ -345,6 +344,7 @@ in { # "$modShift, period, resizeactive, 0 10" # ]; bindl = [ + "$mod, Escape, exec, hyprctl switchxkblayout all next" ", 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'" ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" diff --git a/modules/home/programs/shell/fish.nix b/modules/home/programs/shell/fish.nix index 763643f..e843e38 100644 --- a/modules/home/programs/shell/fish.nix +++ b/modules/home/programs/shell/fish.nix @@ -33,7 +33,7 @@ in { enable = true; shellAliases = { cd = "z"; - cat = "bat"; + # cat = "bat"; la = "ls -a"; l = "ls -la"; }; diff --git a/modules/nixos/desktop/cosmic.nix b/modules/nixos/desktop/cosmic.nix new file mode 100644 index 0000000..f4ba9d7 --- /dev/null +++ b/modules/nixos/desktop/cosmic.nix @@ -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" + ]; + }; + }; +} diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix index b9f89bc..1920f86 100644 --- a/modules/nixos/desktop/default.nix +++ b/modules/nixos/desktop/default.nix @@ -1,6 +1,7 @@ { imports = [ ./niri.nix + ./cosmic.nix ./plasma.nix ./hyprland.nix ];