default cosmic

This commit is contained in:
Tao Tien 2025-08-16 16:31:10 -07:00
parent 26fb5ba017
commit 05a6822ec0
5 changed files with 353 additions and 372 deletions

View file

@ -1,16 +1,2 @@
{pkgs, ...}: { {pkgs, ...}: {
services.desktopManager.plasma6.enable = false;
services.displayManager.sddm.enable = false;
services.desktopManager.cosmic.enable = true;
services.displayManager.cosmic-greeter.enable = true;
environment.sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1;
environment.cosmic.excludePackages = with pkgs; [
cosmic-edit
cosmic-player
cosmic-term
cosmic-wallpapers
];
} }

View file

@ -23,10 +23,6 @@
# url = "github:mattwparas/helix/steel-event-system"; # url = "github:mattwparas/helix/steel-event-system";
# inputs.nixpkgs.follows = "nixpkgs"; # inputs.nixpkgs.follows = "nixpkgs";
# }; # };
# nixos-cosmic = {
# url = "github:lilyinstarlight/nixos-cosmic";
# inputs.nixpkgs.follows = "nixpkgs";
# };
zen-browser = { zen-browser = {
url = "github:0xc000022070/zen-browser-flake"; url = "github:0xc000022070/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -35,12 +31,10 @@
nixConfig = { nixConfig = {
extra-substituters = [ extra-substituters = [
# "https://cosmic.cachix.org/"
# "https://helix.cachix.org/" # "https://helix.cachix.org/"
"https://devenv.cachix.org" "https://devenv.cachix.org"
]; ];
extra-trusted-public-keys = [ extra-trusted-public-keys = [
# "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
# "helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs=" # "helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs="
"devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=" "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="
]; ];
@ -56,7 +50,6 @@
agenix, agenix,
disko, disko,
home-manager, home-manager,
# nixos-cosmic,
zen-browser, zen-browser,
... ...
} @ inputs: { } @ inputs: {
@ -79,8 +72,6 @@
./extras/dev.nix ./extras/dev.nix
./extras/gaming.nix ./extras/gaming.nix
./extras/folding.nix ./extras/folding.nix
# nixos-cosmic.nixosModules.default
./extras/cosmic.nix
]; ];
}; };
NOlaptop = nixpkgs.lib.nixosSystem { NOlaptop = nixpkgs.lib.nixosSystem {
@ -106,8 +97,6 @@
./extras/uwuraid.nix ./extras/uwuraid.nix
./extras/dev.nix ./extras/dev.nix
./extras/gaming.nix ./extras/gaming.nix
# nixos-cosmic.nixosModules.default
./extras/cosmic.nix
]; ];
}; };
NOmom = nixpkgs.lib.nixosSystem { NOmom = nixpkgs.lib.nixosSystem {
@ -132,8 +121,6 @@
nixos-hardware.nixosModules.raspberry-pi-4 nixos-hardware.nixosModules.raspberry-pi-4
./systems/BASED.nix ./systems/BASED.nix
./systems/NObangers.nix ./systems/NObangers.nix
# nixos-cosmic.nixosModules.default
./extras/cosmic.nix
agenix.nixosModules.default agenix.nixosModules.default
./extras/uwuraid.nix ./extras/uwuraid.nix
]; ];

View file

@ -1,197 +1,195 @@
{ {
inputs, inputs,
lib, lib,
pkgs, pkgs,
modulesPath, modulesPath,
... ...
}: { }: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# inputs.helix.packages.${pkgs.system}.default # inputs.helix.packages.${pkgs.system}.default
# screen # screen
bat bat
bottom bottom
cifs-utils cifs-utils
du-dust du-dust
dumbpipe dumbpipe
exfatprogs exfatprogs
fastfetch fastfetch
ffmpeg ffmpeg
firefox firefox
git git
helix helix
inputs.agenix.packages.${pkgs.system}.default inputs.agenix.packages.${pkgs.system}.default
inputs.zen-browser.packages."${system}".default inputs.zen-browser.packages."${system}".default
jujutsu jujutsu
mesa mesa
mpv mpv
ouch ouch
pueue pueue
ripgrep ripgrep
# rustdesk # rustdesk
sendme sendme
skim skim
tree tree
wezterm wezterm
wget wget
zstd zstd
];
programs.partition-manager.enable = lib.mkDefault true;
# programs.nh = {
# enable = true;
# };
programs.firefox.enable = true;
programs.firefox.policies = {
DisablePocket = true;
PasswordManagerEnabled = false;
NoDefaultBookmarks = false;
};
programs.firefox.preferences = {
"media.ffmpeg.vaapi.enabled" = true;
"widget.use-xdg-desktop-portal.file-picker" = 1;
"widget.use-xdg-desktop-portal.location" = 1;
"widget.use-xdg-desktop-portal.mime-handler" = 1;
"widget.use-xdg-desktop-portal.open-uri" = 1;
"widget.use-xdg-desktop-portal.settings" = 1;
"accessibility.browsewithcaret_shortcut.enabled" = false;
"browser.bookmarks.restore_default_bookmarks" = false;
};
services.flatpak.enable = true;
hardware.graphics.enable = true;
# hardware.opengl = {
# enable = true;
# extraPackaged = with pkgs; [
# libvdpau-va-gl
# ];
# };
services.xserver.enable = lib.mkDefault true;
services.xserver.excludePackages = [pkgs.xterm];
services.xserver.xkb.layout = "us";
systemd.services.display-manager.restartIfChanged = false;
services.displayManager.sddm.enable = lib.mkDefault true;
services.displayManager.sddm.wayland.enable = true;
services.desktopManager.plasma6.enable = lib.mkDefault true;
environment.plasma6.excludePackages = with pkgs; [
kdePackages.elisa
kdePackages.konsole
kdePackages.gwenview
kdePackages.kate
kdePackages.xwaylandvideobridge
xterm
];
services.openssh.enable = true;
users.users.root.openssh.authorizedKeys.keys = [
];
programs.ssh.startAgent = true;
services.gnome.gcr-ssh-agent.enable = false;
services.printing.enable = lib.mkDefault true;
services.printing.drivers = with pkgs; lib.mkDefault [gutenprint gutenprintBin];
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
networking.networkmanager.enable = true;
networking.networkmanager.wifi.backend = "iwd";
services.tailscale.enable = true;
services.resolved.enable = true;
networking.wireless.iwd = {
enable = true;
settings.IPv6.Enabled = true;
settings.Settings.AutoConnect = true;
};
services.smartd.enable = true;
# services.btrfs.autoScrub.enable = lib.mkDefault true;
security.rtkit.enable = true;
services.pipewire = {
enable = lib.mkDefault true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
wireplumber.enable = lib.mkDefault true;
};
security.sudo-rs.enable = true;
security.sudo.enable = false;
i18n.inputMethod = {
enable = lib.mkDefault true;
type = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-gtk
fcitx5-mozc
fcitx5-rime
]; ];
}; programs.partition-manager.enable = lib.mkDefault true;
environment.variables = { # programs.nh = {
EDITOR = "hx"; # enable = true;
VISUAL = "hx"; # };
PAGER = "bat";
SKIM_DEFAULT_COMMAND = "rg --files";
};
environment.sessionVariables = {
EDITOR = "hx";
VISUAL = "hx";
PAGER = "bat";
SKIM_DEFAULT_COMMAND = "rg --files";
};
time.timeZone = lib.mkDefault "US/Pacific"; programs.firefox.enable = true;
# services.automatic-timezoned.enable = lib.mkDefault true; programs.firefox.policies = {
# i18n.defaultLocale = "en_US.UTF-8"; DisablePocket = true;
# i18n.extraLocaleSettings = { PasswordManagerEnabled = false;
# LC_CTYPE = "en_US.UTF-8"; NoDefaultBookmarks = false;
# LC_MESSAGES = "en_US.UTF-8"; };
# LC_ALL = "en_US.UTF-8"; programs.firefox.preferences = {
# }; "media.ffmpeg.vaapi.enabled" = true;
# systemd.extraConfig = '' "widget.use-xdg-desktop-portal.file-picker" = 1;
# DefaultTimeoutStopSec=15s "widget.use-xdg-desktop-portal.location" = 1;
# ''; "widget.use-xdg-desktop-portal.mime-handler" = 1;
"widget.use-xdg-desktop-portal.open-uri" = 1;
"widget.use-xdg-desktop-portal.settings" = 1;
zramSwap = { "accessibility.browsewithcaret_shortcut.enabled" = false;
enable = true; "browser.bookmarks.restore_default_bookmarks" = false;
algorithm = "zstd"; };
};
boot.loader.systemd-boot.enable = lib.mkDefault true; services.flatpak.enable = true;
boot.loader.efi.canTouchEfiVariables = lib.mkDefault true;
boot.loader.timeout = lib.mkForce 1;
# boot.supportedFilesystems = ["ntfs" "btrfs"];
hardware.enableAllFirmware = true;
hardware.bluetooth.enable = lib.mkDefault true;
# hardware.bluetooth.settings.General.Experimental = true;
imports = [(modulesPath + "/installer/scan/not-detected.nix")]; hardware.graphics.enable = true;
# hardware.opengl = {
nix.settings = { # enable = true;
experimental-features = "nix-command flakes"; # extraPackaged = with pkgs; [
auto-optimise-store = true; # libvdpau-va-gl
# adding logged in users allows for passwordless root # ];
# trusted-users = ["root"]; # };
system-features = [ services.xserver.enable = lib.mkDefault true;
"benchmark" services.xserver.excludePackages = [pkgs.xterm];
"big-parallel" services.xserver.xkb.layout = "us";
"gccarch-znver3" systemd.services.display-manager.restartIfChanged = false;
"gccarch-znver4" services.desktopManager.cosmic.enable = lib.mkDefault true;
"kvm" services.displayManager.cosmic-greeter.enable = lib.mkDefault true;
"nixos-test" environment.sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1;
environment.cosmic.excludePackages = with pkgs; [
cosmic-edit
cosmic-player
cosmic-term
cosmic-wallpapers
]; ];
};
nixpkgs.config = {allowUnfree = true;};
nix.nixPath = ["nixpkgs=${pkgs.path}"];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; services.openssh.enable = true;
system.stateVersion = lib.mkDefault "23.05"; users.users.root.openssh.authorizedKeys.keys = [
];
programs.ssh.startAgent = true;
services.gnome.gcr-ssh-agent.enable = false;
services.printing.enable = lib.mkDefault true;
services.printing.drivers = with pkgs; lib.mkDefault [gutenprint gutenprintBin];
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
networking.networkmanager.enable = true;
networking.networkmanager.wifi.backend = "iwd";
services.tailscale.enable = true;
services.resolved.enable = true;
networking.wireless.iwd = {
enable = true;
settings.IPv6.Enabled = true;
settings.Settings.AutoConnect = true;
};
services.smartd.enable = true;
# services.btrfs.autoScrub.enable = lib.mkDefault true;
security.rtkit.enable = true;
services.pipewire = {
enable = lib.mkDefault true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
wireplumber.enable = lib.mkDefault true;
};
security.sudo-rs.enable = true;
security.sudo.enable = false;
i18n.inputMethod = {
enable = lib.mkDefault true;
type = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-gtk
fcitx5-mozc
fcitx5-rime
];
};
environment.variables = {
EDITOR = "hx";
VISUAL = "hx";
PAGER = "bat";
SKIM_DEFAULT_COMMAND = "rg --files";
};
environment.sessionVariables = {
EDITOR = "hx";
VISUAL = "hx";
PAGER = "bat";
SKIM_DEFAULT_COMMAND = "rg --files";
};
time.timeZone = lib.mkDefault "US/Pacific";
# services.automatic-timezoned.enable = lib.mkDefault true;
# i18n.defaultLocale = "en_US.UTF-8";
# i18n.extraLocaleSettings = {
# LC_CTYPE = "en_US.UTF-8";
# LC_MESSAGES = "en_US.UTF-8";
# LC_ALL = "en_US.UTF-8";
# };
# systemd.extraConfig = ''
# DefaultTimeoutStopSec=15s
# '';
zramSwap = {
enable = true;
algorithm = "zstd";
};
boot.loader.systemd-boot.enable = lib.mkDefault true;
boot.loader.efi.canTouchEfiVariables = lib.mkDefault true;
boot.loader.timeout = lib.mkForce 1;
# boot.supportedFilesystems = ["ntfs" "btrfs"];
hardware.enableAllFirmware = true;
hardware.bluetooth.enable = lib.mkDefault true;
# hardware.bluetooth.settings.General.Experimental = true;
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
nix.settings = {
experimental-features = "nix-command flakes";
auto-optimise-store = true;
# adding logged in users allows for passwordless root
# trusted-users = ["root"];
system-features = [
"benchmark"
"big-parallel"
"gccarch-znver3"
"gccarch-znver4"
"kvm"
"nixos-test"
];
};
nixpkgs.config = {allowUnfree = true;};
nix.nixPath = ["nixpkgs=${pkgs.path}"];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
system.stateVersion = lib.mkDefault "23.05";
} }

View file

@ -12,6 +12,18 @@
services.tailscale.useRoutingFeatures = "client"; services.tailscale.useRoutingFeatures = "client";
services.displayManager.sddm.enable = true;
services.displayManager.sddm.wayland.enable = true;
services.desktopManager.plasma6.enable = true;
environment.plasma6.excludePackages = with pkgs; [
kdePackages.elisa
kdePackages.konsole
kdePackages.gwenview
kdePackages.kate
kdePackages.xwaylandvideobridge
xterm
];
powerManagement.powertop.enable = true; powerManagement.powertop.enable = true;
services.fwupd.enable = true; services.fwupd.enable = true;
services.fprintd.enable = true; services.fprintd.enable = true;
@ -19,8 +31,6 @@
services.usbmuxd.enable = true; services.usbmuxd.enable = true;
services.usbmuxd.package = pkgs.usbmuxd2; services.usbmuxd.package = pkgs.usbmuxd2;
services.displayManager.sddm.wayland.enable = true;
# systemd.user.services.backlight = { # systemd.user.services.backlight = {
# # description = ""; # # description = "";
# ExecStart = "${pkgs.prescurve}/bin/prescurve_backlight"; # ExecStart = "${pkgs.prescurve}/bin/prescurve_backlight";

View file

@ -1,168 +1,168 @@
{ {
inputs, inputs,
config, config,
pkgs, pkgs,
lib, lib,
... ...
}: { }: {
services.syncplay = { services.syncplay = {
enable = true; enable = true;
motd = "we only watch kino here"; motd = "we only watch kino here";
};
users.users.tao.packages = with pkgs; [
syncplay
# boxxy
calibre
# carapace
# cloud-hypervisor
# davinci-resolve
# fractal
# freerdp
# inputs.plasma-manager.packages.${pkgs.system}.default
# jellyfin-mpv-shim
# libsForQt5.kcharselect
# mendeley
# piper
# slack
# tectonic
# texlab
# thunderbird
# wkhtmltopdf
appimage-run
aspell
aspellDicts.en
bottles
# darktable
deluge
discord
freecad-wayland
gocryptfs
gurk-rs
jellyfin-media-player
# kdePackages.plasma-vault
keepassxc
# leetcode-cli
man-pages
man-pages-posix
miniserve
mousai
nix-output-monitor
nixos-anywhere
nufmt
nushell
nvd
obs-studio
oculante
onlyoffice-bin
pandoc
pipe-rename
prusa-slicer
qmk
qmk-udev-rules
qmk_hid
ripgrep-all
signal-desktop
slack
snapper
starship
syncthingtray
taskwarrior3
tinymist
toastify
typst
usbutils
vial
wezterm
wl-clipboard-rs
yt-dlp
zathura
zellij
zoom-us
zoxide
];
programs.adb.enable = true;
programs.kdeconnect.enable = true;
environment.shells = with pkgs; [nushell];
# virtualisation.libvirtd.enable = true;
# virtualisation.libvirtd.qemu.swtpm.enable = true;
# virtualisation.spiceUSBRedirection.enable = true;
# programs.virt-manager.enable = true;
# virtualisation.virtualbox.host = {
# enable = true;
# enableExtensionPack = true;
# };
# nixpkgs.overlays = [
# (final: prev: {
# options.services.snapper.configs = prev.options.services.snapper.configs.overrideAttrs (old: {
# configOptions.FSTYPE = lib.mkOption {
# type = lib.types.enum ["btrfs" "bcachefs"];
# };
# });
# })
# ];
disabledModules = ["services/misc/snapper.nix"];
imports = [../extras/snapper.nix];
services.snapper.configs = {
home = {
SUBVOLUME = "/home";
# FSTYPE = "bcachefs";
FSTYPE =
if lib.strings.hasPrefix "NOlaptop" (builtins.readFile /etc/hostname)
then "bcachefs"
else "btrfs";
ALLOW_USERS = ["tao"];
TIMELINE_CREATE = true;
TIMELINE_CLEANUP = true;
TIMELINE_LIMIT_HOURLY = 5;
TIMELINE_LIMIT_DAILY = 7;
}; };
};
services.snapper.snapshotInterval = "*:0/5";
hardware.keyboard.qmk.enable = true; users.users.tao.packages = with pkgs; [
services.udev.extraRules = '' syncplay
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" # boxxy
''; calibre
# services.ratbagd.enable = true; # carapace
# cloud-hypervisor
# davinci-resolve
# fractal
# freerdp
# inputs.plasma-manager.packages.${pkgs.system}.default
# jellyfin-mpv-shim
# libsForQt5.kcharselect
# mendeley
# piper
# slack
# tectonic
# texlab
# thunderbird
# wkhtmltopdf
appimage-run
aspell
aspellDicts.en
bottles
# darktable
deluge
discord
freecad-wayland
gocryptfs
gurk-rs
jellyfin-media-player
# kdePackages.plasma-vault
keepassxc
# leetcode-cli
man-pages
man-pages-posix
miniserve
mousai
nix-output-monitor
nixos-anywhere
nufmt
nushell
nvd
obs-studio
oculante
onlyoffice-bin
pandoc
pipe-rename
prusa-slicer
qmk
qmk-udev-rules
qmk_hid
ripgrep-all
signal-desktop
slack
snapper
starship
syncthingtray
taskwarrior3
tinymist
toastify
typst
usbutils
vial
wezterm
wl-clipboard-rs
yt-dlp
zathura
zellij
zoom-us
zoxide
];
programs.adb.enable = true;
programs.kdeconnect.enable = true;
environment.shells = with pkgs; [nushell];
boot.extraModulePackages = with config.boot.kernelPackages; [ # virtualisation.libvirtd.enable = true;
v4l2loopback # virtualisation.libvirtd.qemu.swtpm.enable = true;
]; # virtualisation.spiceUSBRedirection.enable = true;
boot.extraModprobeConfig = '' # programs.virt-manager.enable = true;
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
'';
fonts.packages = with pkgs; [ # virtualisation.virtualbox.host = {
# (nerdfonts.override {fonts = ["FiraCode"];}) # enable = true;
nerd-fonts.fira-code # enableExtensionPack = true;
noto-fonts-cjk-sans # };
noto-fonts-cjk-serif
noto-fonts-color-emoji
ibm-plex
cooper-hewitt
];
documentation.enable = true; # nixpkgs.overlays = [
# (final: prev: {
# options.services.snapper.configs = prev.options.services.snapper.configs.overrideAttrs (old: {
# configOptions.FSTYPE = lib.mkOption {
# type = lib.types.enum ["btrfs" "bcachefs"];
# };
# });
# })
# ];
# age.secrets.password-tao.file = ../secrets/syncthing-uwuraid.age; disabledModules = ["services/misc/snapper.nix"];
users.users.tao = { imports = [../extras/snapper.nix];
isNormalUser = true; services.snapper.configs = {
# hashedPasswordFile = config.age.secrets.password-tao.path; home = {
extraGroups = ["audio" "video" "wheel" "libvirtd" "dialout" "game"]; SUBVOLUME = "/home";
shell = pkgs.nushell; # FSTYPE = "bcachefs";
}; FSTYPE =
if lib.strings.hasPrefix "NOlaptop" (builtins.readFile /etc/hostname)
then "bcachefs"
else "btrfs";
ALLOW_USERS = ["tao"];
TIMELINE_CREATE = true;
TIMELINE_CLEANUP = true;
TIMELINE_LIMIT_HOURLY = 5;
TIMELINE_LIMIT_DAILY = 7;
};
};
services.snapper.snapshotInterval = "*:0/5";
age.secrets.syncthing-NOcomputer.file = ../secrets/syncthing-NOcomputer.age; hardware.keyboard.qmk.enable = true;
age.secrets.syncthing-NOlaptop.file = ../secrets/syncthing-NOlaptop.age; services.udev.extraRules = ''
age.secrets.syncthing-uwuraid.file = ../secrets/syncthing-uwuraid.age; KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
home-manager.useGlobalPkgs = true; '';
home-manager.useUserPackages = true; # services.ratbagd.enable = true;
home-manager.verbose = true;
home-manager.backupFileExtension = ".hm-bak"; boot.extraModulePackages = with config.boot.kernelPackages; [
home-manager.users.tao = import ./tao/HOME.nix {inherit inputs pkgs lib config;}; v4l2loopback
];
boot.extraModprobeConfig = ''
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
'';
fonts.packages = with pkgs; [
# (nerdfonts.override {fonts = ["FiraCode"];})
nerd-fonts.fira-code
noto-fonts-cjk-sans
noto-fonts-cjk-serif
noto-fonts-color-emoji
ibm-plex
cooper-hewitt
];
documentation.enable = true;
# age.secrets.password-tao.file = ../secrets/syncthing-uwuraid.age;
users.users.tao = {
isNormalUser = true;
# hashedPasswordFile = config.age.secrets.password-tao.path;
extraGroups = ["audio" "video" "wheel" "libvirtd" "dialout" "game"];
shell = pkgs.nushell;
};
age.secrets.syncthing-NOcomputer.file = ../secrets/syncthing-NOcomputer.age;
age.secrets.syncthing-NOlaptop.file = ../secrets/syncthing-NOlaptop.age;
age.secrets.syncthing-uwuraid.file = ../secrets/syncthing-uwuraid.age;
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.verbose = true;
home-manager.backupFileExtension = ".hm-bak";
home-manager.users.tao = import ./tao/HOME.nix {inherit inputs pkgs lib config;};
} }