first attempt
This commit is contained in:
parent
57b6d529a4
commit
263d66e190
8 changed files with 202 additions and 163 deletions
7
nix/flake.lock
generated
7
nix/flake.lock
generated
|
@ -40,15 +40,16 @@
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733759999,
|
"lastModified": 1733759999,
|
||||||
"narHash": "sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU=",
|
"narHash": "sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU=",
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a73246e2eef4c6ed172979932bc80e1404ba2d56",
|
"rev": "a73246e2eef4c6ed172979932bc80e1404ba2d56",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"id": "nixpkgs",
|
"owner": "nixos",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-unstable",
|
||||||
"type": "indirect"
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
description = "cy's flake";
|
description = "cy's flake";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
sops-nix = {
|
sops-nix = {
|
||||||
url = "github:Mic92/sops-nix";
|
url = "github:Mic92/sops-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -14,28 +14,39 @@
|
||||||
master.url = "github:NixOS/nixpkgs/2ab79c44f98391b6ee2edfb11f4c7a57ce1404b5";
|
master.url = "github:NixOS/nixpkgs/2ab79c44f98391b6ee2edfb11f4c7a57ce1404b5";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, sops-nix, home-manager, ... }@inputs:
|
outputs = {
|
||||||
let
|
self,
|
||||||
|
nixpkgs,
|
||||||
|
sops-nix,
|
||||||
|
home-manager,
|
||||||
|
...
|
||||||
|
}@inputs: let
|
||||||
lib = nixpkgs.lib;
|
lib = nixpkgs.lib;
|
||||||
|
system = "x86_64-linux";
|
||||||
|
inherit (self) outputs;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
packages = import ./pkgs nixpkgs.legacyPackages.${system};
|
||||||
|
formatter = nixpkgs.legacyPackages.${system}.nixpkgs-fmt;
|
||||||
|
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
ytnix = lib.nixosSystem {
|
ytnix = lib.nixosSystem {
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs outputs; };
|
||||||
modules = [
|
modules = [
|
||||||
./configuration.nix
|
./nixos/configuration.nix
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
home-manager.nixosModules.home-manager
|
|
||||||
{
|
|
||||||
home-manager = {
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
useUserPackages = true;
|
|
||||||
users.yt = import ./home.nix;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt;
|
|
||||||
|
homeConfigurations = {
|
||||||
|
"yt@ytnix" = home-manager.lib.homeManagerConfiguration {
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
extraSpecialArgs = { inherit inputs outputs; };
|
||||||
|
modules = [
|
||||||
|
./home-manager/home.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
132
nix/home-manager/home.nix
Normal file
132
nix/home-manager/home.nix
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home = {
|
||||||
|
username = "yt";
|
||||||
|
homeDirectory = "/home/yt";
|
||||||
|
stateVersion = "24.05";
|
||||||
|
};
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
systemd.user.startServices = "sd-switch";
|
||||||
|
|
||||||
|
nixpkgs = {
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
chromium = {
|
||||||
|
enableWideVine = true;
|
||||||
|
commandLineArgs = "--ozone-platform-hint=wayland --enable-features=WebUIDarkMode";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
qt = {
|
||||||
|
enable = true;
|
||||||
|
platformTheme.name = "gtk";
|
||||||
|
style.name = "adwaita-dark";
|
||||||
|
style.package = pkgs.adwaita-qt;
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
cursorTheme = {
|
||||||
|
package = pkgs.bibata-cursors;
|
||||||
|
name = "Bibata-Modern";
|
||||||
|
};
|
||||||
|
theme = {
|
||||||
|
package = pkgs.adw-gtk3;
|
||||||
|
name = "adw-gtk3-dark";
|
||||||
|
};
|
||||||
|
iconTheme = {
|
||||||
|
package = pkgs.adwaita-icon-theme;
|
||||||
|
name = "Adwaita";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.sessionVariables = {
|
||||||
|
ANKI_WAYLAND = "1";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "cy";
|
||||||
|
userEmail = "hi@cything.io";
|
||||||
|
delta.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.neovim.enable = true;
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
firefox
|
||||||
|
inputs.master.legacyPackages.${system}.ungoogled-chromium
|
||||||
|
# ungoogled-chromium
|
||||||
|
librewolf
|
||||||
|
bitwarden-desktop
|
||||||
|
bitwarden-cli
|
||||||
|
aerc
|
||||||
|
delta
|
||||||
|
fzf
|
||||||
|
zoxide
|
||||||
|
eza
|
||||||
|
fastfetch
|
||||||
|
discord
|
||||||
|
nwg-look
|
||||||
|
element-desktop-wayland
|
||||||
|
kdePackages.gwenview
|
||||||
|
kdePackages.okular
|
||||||
|
kdePackages.qtwayland
|
||||||
|
mpv
|
||||||
|
yt-dlp
|
||||||
|
signal-desktop
|
||||||
|
cosign
|
||||||
|
azure-cli
|
||||||
|
pavucontrol
|
||||||
|
btop
|
||||||
|
stockfish
|
||||||
|
cutechess
|
||||||
|
grim
|
||||||
|
slurp
|
||||||
|
rofi-wayland
|
||||||
|
rofimoji
|
||||||
|
cliphist
|
||||||
|
jq
|
||||||
|
bash-language-server
|
||||||
|
duckdb
|
||||||
|
sqlite
|
||||||
|
usbutils
|
||||||
|
llvmPackages_19.clang-tools
|
||||||
|
ghc
|
||||||
|
zola
|
||||||
|
calibre
|
||||||
|
tor-browser
|
||||||
|
wtype
|
||||||
|
bat
|
||||||
|
yarn
|
||||||
|
rclone
|
||||||
|
go
|
||||||
|
rustc
|
||||||
|
cargo
|
||||||
|
clang_19
|
||||||
|
rust-analyzer
|
||||||
|
clippy
|
||||||
|
pwgen
|
||||||
|
lua-language-server
|
||||||
|
gnumake
|
||||||
|
foot
|
||||||
|
minisign
|
||||||
|
unzip
|
||||||
|
obsidian
|
||||||
|
lm_sensors
|
||||||
|
sshfs
|
||||||
|
nextcloud-client
|
||||||
|
python312Packages.python-lsp-server
|
||||||
|
gopls
|
||||||
|
|
||||||
|
(callPackage ../pkgs/anki-bin.nix {})
|
||||||
|
];
|
||||||
|
}
|
42
nix/home.nix
42
nix/home.nix
|
@ -1,42 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
home.username = "yt";
|
|
||||||
home.homeDirectory = "/home/yt";
|
|
||||||
home.stateVersion = "24.05";
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
|
|
||||||
qt = {
|
|
||||||
enable = true;
|
|
||||||
platformTheme.name = "gtk";
|
|
||||||
style.name = "adwaita-dark";
|
|
||||||
style.package = pkgs.adwaita-qt;
|
|
||||||
};
|
|
||||||
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
cursorTheme = {
|
|
||||||
package = pkgs.bibata-cursors;
|
|
||||||
name = "Bibata-Modern";
|
|
||||||
};
|
|
||||||
theme = {
|
|
||||||
package = pkgs.adw-gtk3;
|
|
||||||
name = "adw-gtk3-dark";
|
|
||||||
};
|
|
||||||
iconTheme = {
|
|
||||||
package = pkgs.adwaita-icon-theme;
|
|
||||||
name = "Adwaita";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.sessionVariables = {
|
|
||||||
ANKI_WAYLAND = "1";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "cy";
|
|
||||||
userEmail = "hi@cything.io";
|
|
||||||
delta.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,12 +1,43 @@
|
||||||
{ config, lib, pkgs, inputs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[
|
outputs,
|
||||||
./hardware-configuration.nix
|
lib,
|
||||||
];
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
sops.defaultSopsFile = ./secrets/secrets.yaml;
|
nixpkgs = {
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nix = let
|
||||||
|
flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
|
||||||
|
in {
|
||||||
|
settings = {
|
||||||
|
experimental-features = "nix-command flakes";
|
||||||
|
auto-optimise-store = true;
|
||||||
|
flake-registry = "";
|
||||||
|
};
|
||||||
|
channel.enable = false;
|
||||||
|
optimise = {
|
||||||
|
automatic = true;
|
||||||
|
dates = [ "03:45" ];
|
||||||
|
};
|
||||||
|
gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "19:00";
|
||||||
|
persistent = true;
|
||||||
|
options = "--delete-older-than 60d";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sops.defaultSopsFile = ../secrets/secrets.yaml;
|
||||||
sops.defaultSopsFormat = "yaml";
|
sops.defaultSopsFormat = "yaml";
|
||||||
sops.age.keyFile = "/root/.config/sops/age/keys.txt";
|
sops.age.keyFile = "/root/.config/sops/age/keys.txt";
|
||||||
sops.secrets = {
|
sops.secrets = {
|
||||||
|
@ -79,78 +110,6 @@
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" "libvirtd" "docker" ];
|
extraGroups = [ "wheel" "libvirtd" "docker" ];
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
packages = with pkgs; [
|
|
||||||
firefox
|
|
||||||
inputs.master.legacyPackages.${system}.ungoogled-chromium
|
|
||||||
# ungoogled-chromium
|
|
||||||
librewolf
|
|
||||||
bitwarden-desktop
|
|
||||||
bitwarden-cli
|
|
||||||
aerc
|
|
||||||
delta
|
|
||||||
fzf
|
|
||||||
zoxide
|
|
||||||
eza
|
|
||||||
fastfetch
|
|
||||||
discord
|
|
||||||
nwg-look
|
|
||||||
element-desktop-wayland
|
|
||||||
kdePackages.gwenview
|
|
||||||
kdePackages.okular
|
|
||||||
kdePackages.qtwayland
|
|
||||||
mpv
|
|
||||||
yt-dlp
|
|
||||||
signal-desktop
|
|
||||||
cosign
|
|
||||||
azure-cli
|
|
||||||
pavucontrol
|
|
||||||
btop
|
|
||||||
stockfish
|
|
||||||
cutechess
|
|
||||||
grim
|
|
||||||
slurp
|
|
||||||
rofi-wayland
|
|
||||||
rofimoji
|
|
||||||
cliphist
|
|
||||||
jq
|
|
||||||
bash-language-server
|
|
||||||
duckdb
|
|
||||||
sqlite
|
|
||||||
usbutils
|
|
||||||
llvmPackages_19.clang-tools
|
|
||||||
ghc
|
|
||||||
zola
|
|
||||||
calibre
|
|
||||||
tor-browser
|
|
||||||
wtype
|
|
||||||
bat
|
|
||||||
yarn
|
|
||||||
rclone
|
|
||||||
go
|
|
||||||
rustc
|
|
||||||
cargo
|
|
||||||
clang_19
|
|
||||||
rust-analyzer
|
|
||||||
clippy
|
|
||||||
pwgen
|
|
||||||
lua-language-server
|
|
||||||
gnumake
|
|
||||||
foot
|
|
||||||
minisign
|
|
||||||
unzip
|
|
||||||
obsidian
|
|
||||||
lm_sensors
|
|
||||||
activitywatch
|
|
||||||
aw-watcher-window-wayland
|
|
||||||
aw-qt
|
|
||||||
aw-watcher-afk
|
|
||||||
sshfs
|
|
||||||
nextcloud-client
|
|
||||||
python312Packages.python-lsp-server
|
|
||||||
gopls
|
|
||||||
|
|
||||||
(callPackage ./anki-bin.nix { })
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
@ -206,13 +165,6 @@
|
||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
nerd-fonts.roboto-mono
|
nerd-fonts.roboto-mono
|
||||||
];
|
];
|
||||||
nixpkgs.config = {
|
|
||||||
allowUnfree = true;
|
|
||||||
chromium = {
|
|
||||||
enableWideVine = true;
|
|
||||||
commandLineArgs = "--ozone-platform-hint=wayland --enable-features=WebUIDarkMode";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware.enableAllFirmware = true;
|
hardware.enableAllFirmware = true;
|
||||||
hardware.bluetooth = {
|
hardware.bluetooth = {
|
||||||
|
@ -221,8 +173,6 @@
|
||||||
};
|
};
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
|
|
||||||
programs.sway.enable = true;
|
programs.sway.enable = true;
|
||||||
|
|
||||||
services.borgbackup.jobs.ytnixRsync = {
|
services.borgbackup.jobs.ytnixRsync = {
|
||||||
|
@ -323,15 +273,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nix.registry.nixpkgs.flake = inputs.nixpkgs;
|
|
||||||
|
|
||||||
nix.gc = {
|
|
||||||
automatic = true;
|
|
||||||
dates = "19:00";
|
|
||||||
persistent = true;
|
|
||||||
options = "--delete-older-than 60d";
|
|
||||||
};
|
|
||||||
|
|
||||||
services.usbmuxd.enable = true;
|
services.usbmuxd.enable = true;
|
||||||
programs.nix-ld.enable = true;
|
programs.nix-ld.enable = true;
|
||||||
programs.evolution.enable = true;
|
programs.evolution.enable = true;
|
||||||
|
@ -349,13 +290,6 @@
|
||||||
wlr.enable = true;
|
wlr.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
nix.optimise = {
|
|
||||||
automatic = true;
|
|
||||||
dates = [ "03:45" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
nix.settings.auto-optimise-store = true;
|
|
||||||
|
|
||||||
programs.obs-studio = {
|
programs.obs-studio = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = with pkgs.obs-studio-plugins; [
|
plugins = with pkgs.obs-studio-plugins; [
|
3
nix/pkgs/default.nix
Normal file
3
nix/pkgs/default.nix
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
pkgs: {
|
||||||
|
anki-bin = pkgs.callPackage ./anki-bin.nix { };
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue