Compare commits

...

7 Commits

8 changed files with 383 additions and 327 deletions

View File

@@ -1,29 +1,33 @@
{ config, pkgs, lib, inputs, ... }:
{ {
config,
pkgs,
lib,
inputs,
...
}: {
# Bootloader. # Bootloader.
boot.loader.systemd-boot = { boot.loader.systemd-boot = {
enable = true; enable = true;
configurationLimit = 10; configurationLimit = 10;
}; };
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
# Garbage collection # Garbage collection
nix.gc = { nix.gc = {
automatic = true; automatic = true;
dates = "weekly"; dates = "weekly";
options = "--delete-older-than 1w"; options = "--delete-older-than 1w";
}; };
# Optimize store # Optimize store
nix.settings.auto-optimise-store = true; nix.settings.auto-optimise-store = true;
# Use latest stable kernel # Use latest stable kernel
boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelPackages = pkgs.linuxPackages_latest;
# Allow power management # Allow power management
powerManagement.enable = true; powerManagement.enable = true;
# Firmware updates # Firmware updates
services.fwupd.enable = true; services.fwupd.enable = true;
@@ -55,11 +59,11 @@
services.xserver.enable = true; services.xserver.enable = true;
services.displayManager.sddm = { services.displayManager.sddm = {
enable = true; enable = true;
extraPackages = [ pkgs.kdePackages.sddm-kcm ]; extraPackages = [pkgs.kdePackages.sddm-kcm];
wayland.enable = true; wayland.enable = true;
enableHidpi = true; enableHidpi = true;
}; };
services.desktopManager.plasma6.enable = true; services.desktopManager.plasma6.enable = true;
environment.plasma6.excludePackages = with pkgs.kdePackages; [ environment.plasma6.excludePackages = with pkgs.kdePackages; [
elisa elisa
@@ -69,8 +73,8 @@
# Hyprland # Hyprland
programs.hyprland = { programs.hyprland = {
enable = true; enable = true;
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
}; };
# Catppuccin # Catppuccin
@@ -107,13 +111,13 @@
}; };
i18n.inputMethod = { i18n.inputMethod = {
type = "fcitx5"; type = "fcitx5";
enable = true; enable = true;
fcitx5.addons = with pkgs; [ fcitx5.addons = with pkgs; [
fcitx5-mozc fcitx5-mozc
kdePackages.fcitx5-qt kdePackages.fcitx5-qt
]; ];
fcitx5.waylandFrontend = true; fcitx5.waylandFrontend = true;
}; };
# Fonts # Fonts
@@ -140,8 +144,8 @@
}; };
# Enable Flakes # Enable Flakes
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = ["nix-command" "flakes"];
# Allow unfree packages # Allow unfree packages
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
@@ -154,13 +158,13 @@
users.users.chase = { users.users.chase = {
isNormalUser = true; isNormalUser = true;
description = "Chase"; description = "Chase";
extraGroups = [ "networkmanager" "wheel" ]; extraGroups = ["networkmanager" "wheel"];
}; };
# Install firefox # Install firefox
programs.firefox = { programs.firefox = {
enable = true; enable = true;
nativeMessagingHosts.packages = [ pkgs.firefoxpwa ]; nativeMessagingHosts.packages = [pkgs.firefoxpwa];
policies = { policies = {
DisableTelemetry = true; DisableTelemetry = true;
DisableFirefoxAccounts = true; DisableFirefoxAccounts = true;
@@ -172,12 +176,12 @@
# Install git and enable cache # Install git and enable cache
programs.git = { programs.git = {
enable = true; enable = true;
config = { config = {
init = { init = {
defaultBranch = "main"; defaultBranch = "main";
}; };
credential = { credential = {
helper = "cache --timeout 21600"; helper = "cache --timeout 21600";
}; };
}; };
}; };
@@ -185,16 +189,16 @@
# Install Neovim # Install Neovim
programs.neovim = { programs.neovim = {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;
configure = { configure = {
customRC = '' customRC = ''
set autoindent set autoindent
set number relativenumber set number relativenumber
set tabstop=4 set tabstop=4
colorscheme catppuccin-mocha colorscheme catppuccin-mocha
''; '';
packages.myVimPackage = with pkgs.vimPlugins; { packages.myVimPackage = with pkgs.vimPlugins; {
start = [ catppuccin-nvim ]; start = [catppuccin-nvim];
}; };
}; };
viAlias = true; viAlias = true;
@@ -209,16 +213,24 @@
localNetworkGameTransfers.openFirewall = true; localNetworkGameTransfers.openFirewall = true;
}; };
# List packages installed in system profile. To search, run: # List packages installed in system profile.
# $ nix search wget
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
alejandra alejandra
bitwarden-cli bitwarden-cli
bitwarden-desktop bitwarden-desktop
catppuccin-kde (catppuccin-kde.override {
flavour = ["mocha"];
accents = [
"blue"
"lavender"
"pink"
"sapphire"
];
winDecStyles = ["classic"];
})
cifs-utils cifs-utils
firefoxpwa firefoxpwa
flashrom flashrom
gcc gcc
nixd nixd
pciutils pciutils
@@ -229,14 +241,14 @@
wget wget
]; ];
nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; nix.nixPath = ["nixpkgs=${inputs.nixpkgs}"];
# ssh agent # ssh agent
# programs.mtr.enable = true; # programs.mtr.enable = true;
programs.gnupg.agent.enable = true; programs.gnupg.agent.enable = true;
programs.ssh = { programs.ssh = {
enableAskPassword = false; enableAskPassword = false;
}; };
# List services that you want to enable: # List services that you want to enable:
@@ -248,10 +260,10 @@
# Enable the OpenSSH daemon. # Enable the OpenSSH daemon.
services.openssh = { services.openssh = {
enable = true; enable = true;
settings = { settings = {
PermitRootLogin = "no"; PermitRootLogin = "no";
PasswordAuthentication = false; PasswordAuthentication = false;
KbdInteractiveAuthentication = false; KbdInteractiveAuthentication = false;
}; };
}; };
@@ -268,5 +280,4 @@
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "24.11"; # Did you read the comment? system.stateVersion = "24.11"; # Did you read the comment?
} }

View File

@@ -4,16 +4,16 @@
inputs = { inputs = {
# NixOS official package source, using unstable here # NixOS official package source, using unstable here
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nur = { nur = {
url = "github:nix-community/NUR"; url = "github:nix-community/NUR";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
catppuccin.url = "github:catppuccin/nix"; catppuccin.url = "github:catppuccin/nix";
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprland.url = "github:hyprwm/Hyprland"; hyprland.url = "github:hyprwm/Hyprland";
plasma-manager = { plasma-manager = {
url = "github:nix-community/plasma-manager"; url = "github:nix-community/plasma-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -21,57 +21,65 @@
}; };
}; };
outputs = { self, nixpkgs, catppuccin, nur, home-manager, plasma-manager, ... }@inputs: { outputs = {
self,
nixpkgs,
catppuccin,
nur,
home-manager,
plasma-manager,
...
} @ inputs: {
# Please replace my-nixos with your hostname # Please replace my-nixos with your hostname
nixosConfigurations = { nixosConfigurations = {
anzu = nixpkgs.lib.nixosSystem { anzu = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = { inherit inputs; }; specialArgs = {inherit inputs;};
modules = [ modules = [
# Import the previous configuration.nix we used, # Import the previous configuration.nix we used,
# so the old configuration file still takes effect # so the old configuration file still takes effect
./configuration.nix ./configuration.nix
./hosts/anzu/hardware-configuration.nix ./hosts/anzu/hardware-configuration.nix
# Add NUR overlay # Add NUR overlay
nur.modules.nixos.default nur.modules.nixos.default
# Add catppuccin # Add catppuccin
catppuccin.nixosModules.catppuccin catppuccin.nixosModules.catppuccin
# Add home-manager # Add home-manager
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
home-manager.backupFileExtension = "backup"; home-manager.backupFileExtension = "backup";
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager ]; home-manager.sharedModules = [plasma-manager.homeManagerModules.plasma-manager];
home-manager.users.chase = { home-manager.users.chase = {
imports = [ imports = [
./home/home.nix ./home/home.nix
catppuccin.homeModules.catppuccin catppuccin.homeModules.catppuccin
]; ];
}; };
} }
]; ];
}; };
ichigo = nixpkgs.lib.nixosSystem { ichigo = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = { inherit inputs; }; specialArgs = {inherit inputs;};
modules = [ modules = [
./configuration.nix ./configuration.nix
./hosts/ichigo/hardware-configuration.nix ./hosts/ichigo/hardware-configuration.nix
nur.modules.nixos.default nur.modules.nixos.default
catppuccin.nixosModules.catppuccin catppuccin.nixosModules.catppuccin
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
home-manager.backupFileExtension = "backup"; home-manager.backupFileExtension = "backup";
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager ]; home-manager.sharedModules = [plasma-manager.homeManagerModules.plasma-manager];
home-manager.users.chase = { home-manager.users.chase = {
imports = [ imports = [
./home/home.nix ./home/home.nix
catppuccin.homeModules.catppuccin catppuccin.homeModules.catppuccin
]; ];
}; };
} }
]; ];
}; };
}; };
}; };

View File

@@ -1,6 +1,8 @@
{ config, pkgs, ... }:
{ {
config,
pkgs,
...
}: {
imports = [ imports = [
./plasma.nix ./plasma.nix
]; ];
@@ -12,8 +14,8 @@
stateVersion = "24.11"; stateVersion = "24.11";
file = { file = {
"scripts" = { "scripts" = {
source = config.lib.file.mkOutOfStoreSymlink ./scripts; source = config.lib.file.mkOutOfStoreSymlink ./scripts;
recursive = true; recursive = true;
}; };
}; };
sessionPath = [ sessionPath = [
@@ -27,15 +29,15 @@
xdg = { xdg = {
enable = true; enable = true;
userDirs.enable = true; userDirs.enable = true;
configFile = { configFile = {
"emacs/early-init.el" = { "emacs/early-init.el" = {
source = config.lib.file.mkOutOfStoreSymlink ./emacs/early-init.el; source = config.lib.file.mkOutOfStoreSymlink ./emacs/early-init.el;
}; };
"emacs/init.el" = { "emacs/init.el" = {
source = config.lib.file.mkOutOfStoreSymlink ./emacs/init.el; source = config.lib.file.mkOutOfStoreSymlink ./emacs/init.el;
}; };
}; };
}; };
catppuccin = { catppuccin = {
@@ -45,17 +47,17 @@
programs.bash = { programs.bash = {
enable = true; enable = true;
enableCompletion = true; enableCompletion = true;
bashrcExtra = '' bashrcExtra = ''
export SSH_AUTH_SOCK=/home/chase/.bitwarden-ssh-agent.sock export SSH_AUTH_SOCK=/home/chase/.bitwarden-ssh-agent.sock
''; '';
historyIgnore = [ historyIgnore = [
"ls" "ls"
"ls -a" "ls -a"
"ls -l" "ls -l"
"ls -la" "ls -la"
"cd" "cd"
"exit" "exit"
]; ];
}; };
@@ -68,122 +70,130 @@
programs.fastfetch = { programs.fastfetch = {
enable = true; enable = true;
settings = { settings = {
logo = { logo = {
source = "nixos_small"; source = "nixos_small";
}; };
display = { display = {
size = { size = {
binaryPrefix = "si"; binaryPrefix = "si";
}; };
color = "blue"; color = "blue";
separator = ": "; separator = ": ";
}; };
modules = [ modules = [
"title" "title"
"separator" "separator"
"os" "os"
"host" "host"
"uptime" "uptime"
"kernel" "kernel"
"packages" "packages"
"lm" "lm"
"de" "de"
"wm" "wm"
"shell" "shell"
"terminal" "terminal"
"terminalfont" "terminalfont"
{ {
key = "Display"; key = "Display";
type = "display"; type = "display";
} }
"cpu" "cpu"
"gpu" "gpu"
"memory" "memory"
"swap" "swap"
"disk" "disk"
"datetime" "datetime"
"colors" "colors"
"break" "break"
"player" "player"
"media" "media"
]; ];
}; };
}; };
programs.firefox = { programs.firefox = {
enable = true; enable = true;
nativeMessagingHosts = [ pkgs.firefoxpwa ]; nativeMessagingHosts = [pkgs.firefoxpwa];
profiles = { profiles = {
default = { default = {
id = 0; id = 0;
name = "default"; name = "default";
isDefault = true; isDefault = true;
extensions = { extensions = {
packages = with pkgs.nur.repos.rycee.firefox-addons; [ packages = with pkgs.nur.repos.rycee.firefox-addons; [
awesome-rss awesome-rss
betterttv betterttv
bitwarden bitwarden
clearurls clearurls
control-panel-for-twitter control-panel-for-twitter
enhancer-for-youtube enhancer-for-youtube
facebook-container facebook-container
flagfox flagfox
istilldontcareaboutcookies istilldontcareaboutcookies
privacy-badger privacy-badger
return-youtube-dislikes return-youtube-dislikes
search-by-image search-by-image
sponsorblock sponsorblock
tab-session-manager tab-session-manager
tampermonkey tampermonkey
ublock-origin ublock-origin
]; ];
}; };
settings = { settings = {
"browser.formfill.enable" = false; "browser.formfill.enable" = false;
"browser.ml.chat.enabled" = false; "browser.ml.chat.enabled" = false;
"browser.ml.chat.shortcuts" = false; "browser.ml.chat.shortcuts" = false;
"browser.ml.chat.sidebar" = false; "browser.ml.chat.sidebar" = false;
"browser.newtabpage.activity-stream.feeds.section.topstories" = false; "browser.newtabpage.activity-stream.feeds.section.topstories" = false;
"browser.newtabpage.activity-stream.feeds.snippets" = false; "browser.newtabpage.activity-stream.feeds.snippets" = false;
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false; "browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false; "browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false; "browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = false; "browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;
"browser.newtabpage.activity-stream.showSponsored" = false; "browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false; "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.newtabpage.activity-stream.system.showSponsored" = false; "browser.newtabpage.activity-stream.system.showSponsored" = false;
"browser.topsites.contile.enabled" = false; "browser.topsites.contile.enabled" = false;
"browser.urlbar.unitConversion.enabled" = true; "browser.urlbar.unitConversion.enabled" = true;
"extensions.formautofill.addresses.enabled" = false; "extensions.formautofill.addresses.enabled" = false;
"extensions.formautofill.creditCards.enabled" = false; "extensions.formautofill.creditCards.enabled" = false;
"extensions.pocket.enabled" = false; "extensions.pocket.enabled" = false;
"general.autoScroll" = true; "general.autoScroll" = true;
"widget.use-xdg-desktop-portal.file-picker" = 1; "widget.use-xdg-desktop-portal.file-picker" = 1;
"signon.rememberSignons" = false; "signon.rememberSignons" = false;
}; };
search = { search = {
force = true; force = true;
default = "SearX"; default = "SearX";
order = [ "SearX" "google" ]; order = ["SearX" "google"];
engines = { engines = {
"Nix Packages" = { "Nix Packages" = {
urls = [{ urls = [
template = "https://search.nixos.org/packages"; {
params = [ template = "https://search.nixos.org/packages";
{ name = "type"; value = "packages"; } params = [
{ name = "query"; value = "{searchTerms}"; } {
]; name = "type";
}]; value = "packages";
icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; }
definedAliases = [ "@np" ]; {
}; name = "query";
"SearX" = { value = "{searchTerms}";
urls = [{ template = "https://searx.traphouse.cathoderaytube.net/?q={searchTerms}"; }]; }
definedAliases = [ "@searx" ]; ];
}; }
"bing".metaData.hidden = true; ];
}; icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = ["@np"];
};
"SearX" = {
urls = [{template = "https://searx.traphouse.cathoderaytube.net/?q={searchTerms}";}];
definedAliases = ["@searx"];
};
"bing".metaData.hidden = true;
};
}; };
}; };
}; };
@@ -191,41 +201,41 @@
programs.ghostty = { programs.ghostty = {
enable = true; enable = true;
enableBashIntegration = true; enableBashIntegration = true;
installBatSyntax = true; installBatSyntax = true;
installVimSyntax = true; installVimSyntax = true;
settings = { settings = {
font-family = "BlexMono Nerd Font"; font-family = "BlexMono Nerd Font";
font-size = 11; font-size = 11;
}; };
}; };
programs.git = { programs.git = {
enable = true; enable = true;
userName = "chase"; userName = "chase";
userEmail = "chase@cathoderaytube.net"; userEmail = "chase@cathoderaytube.net";
extraConfig = { extraConfig = {
init.defaultBranch = "main"; init.defaultBranch = "main";
}; };
}; };
programs.git-credential-oauth.enable = true; programs.git-credential-oauth.enable = true;
programs.gpg = { programs.gpg = {
enable = true; enable = true;
homedir = "${config.xdg.dataHome}/gnupg"; homedir = "${config.xdg.dataHome}/gnupg";
}; };
programs.htop.enable = true; programs.htop.enable = true;
programs.mpv = { programs.mpv = {
enable = true; enable = true;
config = { config = {
profile = "gpu-hq"; profile = "gpu-hq";
ytdl-format = "bestvideo+bestaudio"; ytdl-format = "bestvideo+bestaudio";
}; };
scripts = [ scripts = [
pkgs.mpvScripts.mpris pkgs.mpvScripts.mpris
]; ];
}; };
@@ -256,52 +266,52 @@
style = "bold green"; style = "bold green";
}; };
}; };
}; };
programs.ranger.enable = true; programs.ranger.enable = true;
programs.rmpc = { programs.rmpc = {
enable = true; enable = true;
config = '' config = ''
( (
enable_config_hot_reload: true, enable_config_hot_reload: true,
) )
''; '';
}; };
programs.texlive.enable = true; programs.texlive.enable = true;
programs.yazi = { programs.yazi = {
enable = true; enable = true;
enableBashIntegration = true; enableBashIntegration = true;
}; };
programs.yt-dlp = { programs.yt-dlp = {
enable = true; enable = true;
settings = { settings = {
embed-thumbnail = true; embed-thumbnail = true;
}; };
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
anki-bin anki-bin
audacity audacity
ffmpeg ffmpeg
fortune fortune
gimp gimp
ibm-plex ibm-plex
imagemagick imagemagick
kdePackages.kdenlive kdePackages.kdenlive
libnotify libnotify
libreoffice libreoffice
logiops logiops
lolcat lolcat
nerd-fonts.blex-mono nerd-fonts.blex-mono
picard picard
protonmail-bridge protonmail-bridge
thunderbird thunderbird
ueberzugpp ueberzugpp
vcv-rack vcv-rack
runelite runelite
]; ];
@@ -322,30 +332,29 @@
services.mpd = { services.mpd = {
enable = true; enable = true;
extraConfig = '' extraConfig = ''
audio_output { audio_output {
type "pipewire" type "pipewire"
name "Pipewire Output" name "Pipewire Output"
} }
''; '';
musicDirectory = "/mnt/share/media/music"; musicDirectory = "/mnt/share/media/music";
}; };
services.mpd-discord-rpc = { services.mpd-discord-rpc = {
enable = true; enable = true;
settings = { settings = {
hosts = [ "localhost:6600" ]; hosts = ["localhost:6600"];
format = { format = {
details = "$track - $title [$duration]"; details = "$track - $title [$duration]";
state = "$artist / $album ($date)"; state = "$artist / $album ($date)";
timestamp = "elapsed"; timestamp = "elapsed";
}; };
}; };
}; };
services.mpd-mpris = { services.mpd-mpris = {
enable = true; enable = true;
mpd.useLocal = true; mpd.useLocal = true;
}; };
} }

View File

@@ -2,9 +2,9 @@
programs.plasma = { programs.plasma = {
enable = true; enable = true;
shortcuts = { shortcuts = {
"ActivityManager"."switch-to-activity-0fb1d4a1-96e6-4dfd-909a-04b78f1e3845" = [ ]; "ActivityManager"."switch-to-activity-0fb1d4a1-96e6-4dfd-909a-04b78f1e3845" = [];
"KDE Keyboard Layout Switcher"."Switch keyboard layout to English (US)" = [ ]; "KDE Keyboard Layout Switcher"."Switch keyboard layout to English (US)" = [];
"KDE Keyboard Layout Switcher"."Switch keyboard layout to Japanese" = [ ]; "KDE Keyboard Layout Switcher"."Switch keyboard layout to Japanese" = [];
"KDE Keyboard Layout Switcher"."Switch to Last-Used Keyboard Layout" = "Meta+Alt+L"; "KDE Keyboard Layout Switcher"."Switch to Last-Used Keyboard Layout" = "Meta+Alt+L";
"KDE Keyboard Layout Switcher"."Switch to Next Keyboard Layout" = "Meta+Alt+K"; "KDE Keyboard Layout Switcher"."Switch to Next Keyboard Layout" = "Meta+Alt+K";
"kaccess"."Toggle Screen Reader On and Off" = "Meta+Alt+S"; "kaccess"."Toggle Screen Reader On and Off" = "Meta+Alt+S";
@@ -28,24 +28,24 @@
"ksmserver"."Reboot Without Confirmation" = "none,,Reboot Without Confirmation"; "ksmserver"."Reboot Without Confirmation" = "none,,Reboot Without Confirmation";
"ksmserver"."Shut Down" = "none,,Shut Down"; "ksmserver"."Shut Down" = "none,,Shut Down";
"kwin"."Activate Window Demanding Attention" = "Meta+Ctrl+A"; "kwin"."Activate Window Demanding Attention" = "Meta+Ctrl+A";
"kwin"."Cycle Overview" = [ ]; "kwin"."Cycle Overview" = [];
"kwin"."Cycle Overview Opposite" = [ ]; "kwin"."Cycle Overview Opposite" = [];
"kwin"."Decrease Opacity" = "none,,Decrease Opacity of Active Window by 5%"; "kwin"."Decrease Opacity" = "none,,Decrease Opacity of Active Window by 5%";
"kwin"."Edit Tiles" = "Meta+T"; "kwin"."Edit Tiles" = "Meta+T";
"kwin"."Expose" = "Ctrl+F9"; "kwin"."Expose" = "Ctrl+F9";
"kwin"."ExposeAll" = ["Ctrl+F10" "Launch (C),Ctrl+F10" "Launch (C),Toggle Present Windows (All desktops)"]; "kwin"."ExposeAll" = ["Ctrl+F10" "Launch (C),Ctrl+F10" "Launch (C),Toggle Present Windows (All desktops)"];
"kwin"."ExposeClass" = "Ctrl+F7"; "kwin"."ExposeClass" = "Ctrl+F7";
"kwin"."ExposeClassCurrentDesktop" = [ ]; "kwin"."ExposeClassCurrentDesktop" = [];
"kwin"."Grid View" = "Meta+G"; "kwin"."Grid View" = "Meta+G";
"kwin"."Increase Opacity" = "none,,Increase Opacity of Active Window by 5%"; "kwin"."Increase Opacity" = "none,,Increase Opacity of Active Window by 5%";
"kwin"."Kill Window" = "Meta+Ctrl+Esc"; "kwin"."Kill Window" = "Meta+Ctrl+Esc";
"kwin"."Move Tablet to Next Output" = [ ]; "kwin"."Move Tablet to Next Output" = [];
"kwin"."MoveMouseToCenter" = "Meta+F6"; "kwin"."MoveMouseToCenter" = "Meta+F6";
"kwin"."MoveMouseToFocus" = "Meta+F5"; "kwin"."MoveMouseToFocus" = "Meta+F5";
"kwin"."MoveZoomDown" = [ ]; "kwin"."MoveZoomDown" = [];
"kwin"."MoveZoomLeft" = [ ]; "kwin"."MoveZoomLeft" = [];
"kwin"."MoveZoomRight" = [ ]; "kwin"."MoveZoomRight" = [];
"kwin"."MoveZoomUp" = [ ]; "kwin"."MoveZoomUp" = [];
"kwin"."Overview" = "Meta+W"; "kwin"."Overview" = "Meta+W";
"kwin"."Setup Window Shortcut" = "none,,Setup Window Shortcut"; "kwin"."Setup Window Shortcut" = "none,,Setup Window Shortcut";
"kwin"."Show Desktop" = "Meta+D"; "kwin"."Show Desktop" = "Meta+D";
@@ -93,7 +93,7 @@
"kwin"."Switch to Screen Below" = "none,,Switch to Screen Below"; "kwin"."Switch to Screen Below" = "none,,Switch to Screen Below";
"kwin"."Switch to Screen to the Left" = "none,,Switch to Screen to the Left"; "kwin"."Switch to Screen to the Left" = "none,,Switch to Screen to the Left";
"kwin"."Switch to Screen to the Right" = "none,,Switch to Screen to the Right"; "kwin"."Switch to Screen to the Right" = "none,,Switch to Screen to the Right";
"kwin"."Toggle Night Color" = [ ]; "kwin"."Toggle Night Color" = [];
"kwin"."Toggle Window Raise/Lower" = "none,,Toggle Window Raise/Lower"; "kwin"."Toggle Window Raise/Lower" = "none,,Toggle Window Raise/Lower";
"kwin"."Walk Through Windows" = "Alt+Tab"; "kwin"."Walk Through Windows" = "Alt+Tab";
"kwin"."Walk Through Windows (Reverse)" = "Alt+Shift+Tab"; "kwin"."Walk Through Windows (Reverse)" = "Alt+Shift+Tab";
@@ -203,7 +203,7 @@
"org_kde_powerdevil"."PowerOff" = "Power Off"; "org_kde_powerdevil"."PowerOff" = "Power Off";
"org_kde_powerdevil"."Sleep" = "Sleep"; "org_kde_powerdevil"."Sleep" = "Sleep";
"org_kde_powerdevil"."Toggle Keyboard Backlight" = "Keyboard Light On/Off"; "org_kde_powerdevil"."Toggle Keyboard Backlight" = "Keyboard Light On/Off";
"org_kde_powerdevil"."Turn Off Screen" = [ ]; "org_kde_powerdevil"."Turn Off Screen" = [];
"org_kde_powerdevil"."powerProfile" = ["Battery" "Meta+B,Battery" "Meta+B,Switch Power Profile"]; "org_kde_powerdevil"."powerProfile" = ["Battery" "Meta+B,Battery" "Meta+B,Switch Power Profile"];
"plasmashell"."activate application launcher" = ["Meta" "Alt+F1,Meta" "Alt+F1,Activate Application Launcher"]; "plasmashell"."activate application launcher" = ["Meta" "Alt+F1,Meta" "Alt+F1,Activate Application Launcher"];
"plasmashell"."activate task manager entry 1" = "Meta+1"; "plasmashell"."activate task manager entry 1" = "Meta+1";

33
home/scripts/nixswitch Executable file
View File

@@ -0,0 +1,33 @@
#!/usr/bin/env bash
#
# NixOS rebuild script
#
# original by 0atman: https://gist.github.com/0atman/1a5133b842f929ba4c1e195ee67599d5
set -e
pushd ~/nixos-config
if git diff --quiet; then
echo "No changes detected, exiting."
popd
exit 0
fi
alejandra . &>/dev/null \
|| ( alejandra . ; echo "formatting failed!" && exit 1)
git diff -U0
echo "NixOS rebuilding..."
sudo nixos-rebuild switch --flake . &>nixos-switch.log \
|| (cat nixos-switch.log | grep --color error && exit 1)
current=$(nixos-rebuild list-generations | grep current)
git commit -am "$current"
popd
notify-send -e "NixOS Rebuilt OK!" --icon=software-update-available

View File

@@ -1,11 +0,0 @@
#!/usr/bin/env bash
cd ~/nixos-config
sudo nixos-rebuild switch --flake . &>nixos-switch.log || (cat nixos-switch.log | grep --color error && exit 1)
current=$(nixos-rebuild list-generations | grep current)
git commit -am "$current"
notify-send -e "NixOS Rebuilt OK!" --icon=software-update-available

View File

@@ -1,49 +1,52 @@
{ config, lib, pkgs, modulesPath, ... }:
{ {
imports = config,
[ (modulesPath + "/installer/scan/not-detected.nix") lib,
]; pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
### this machine ### ### this machine ###
networking.hostName = "anzu"; networking.hostName = "anzu";
### hardware config ### ### hardware config ###
# encrypted root # encrypted root
boot.initrd.luks.devices."luks-b03a8b46-6a1b-4855-9cf9-304d884f50ae".device = "/dev/disk/by-uuid/b03a8b46-6a1b-4855-9cf9-304d884f50ae"; boot.initrd.luks.devices."luks-b03a8b46-6a1b-4855-9cf9-304d884f50ae".device = "/dev/disk/by-uuid/b03a8b46-6a1b-4855-9cf9-304d884f50ae";
# encrypted swap # encrypted swap
boot.initrd.luks.devices."luks-9527937d-2d02-4feb-9a16-c9c417b33d0d".device = "/dev/disk/by-uuid/9527937d-2d02-4feb-9a16-c9c417b33d0d"; boot.initrd.luks.devices."luks-9527937d-2d02-4feb-9a16-c9c417b33d0d".device = "/dev/disk/by-uuid/9527937d-2d02-4feb-9a16-c9c417b33d0d";
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" ]; boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/1518dbe1-8322-48d3-9fc9-cd0478ccbf43"; device = "/dev/disk/by-uuid/1518dbe1-8322-48d3-9fc9-cd0478ccbf43";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/1FCD-5A26"; device = "/dev/disk/by-uuid/1FCD-5A26";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ]; options = ["fmask=0077" "dmask=0077"];
}; };
swapDevices = [
{device = "/dev/disk/by-uuid/dd48a14e-2c90-465b-81a3-661d31ebf39f";}
];
swapDevices =
[ { device = "/dev/disk/by-uuid/dd48a14e-2c90-465b-81a3-661d31ebf39f"; }
];
# Mount SMB share # Mount SMB share
fileSystems."/mnt/share" = { fileSystems."/mnt/share" = {
device = "//haruko/share"; device = "//haruko/share";
fsType = "cifs"; fsType = "cifs";
options = let options = let
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users"; automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
in ["${automount_opts},credentials=/etc/nixos/smb-secrets,uid=1000,gid=100"];
in ["${automount_opts},credentials=/etc/nixos/smb-secrets,uid=1000,gid=100"];
}; };
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking

View File

@@ -1,48 +1,51 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
imports = config,
[ (modulesPath + "/installer/scan/not-detected.nix") lib,
]; pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
### this machine ### ### this machine ###
networking.hostName = "ichigo"; networking.hostName = "ichigo";
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/d248b616-bdb7-463d-94a6-9718de8dc85a"; device = "/dev/disk/by-uuid/d248b616-bdb7-463d-94a6-9718de8dc85a";
fsType = "ext4"; fsType = "ext4";
}; };
boot.initrd.luks.devices."luks-d90b3a3d-bb12-4a29-a2b4-99487f0ff1ca".device = "/dev/disk/by-uuid/d90b3a3d-bb12-4a29-a2b4-99487f0ff1ca"; boot.initrd.luks.devices."luks-d90b3a3d-bb12-4a29-a2b4-99487f0ff1ca".device = "/dev/disk/by-uuid/d90b3a3d-bb12-4a29-a2b4-99487f0ff1ca";
boot.initrd.luks.devices."luks-877310a4-b495-4060-9ee6-e7a841862f22".device = "/dev/disk/by-uuid/877310a4-b495-4060-9ee6-e7a841862f22"; boot.initrd.luks.devices."luks-877310a4-b495-4060-9ee6-e7a841862f22".device = "/dev/disk/by-uuid/877310a4-b495-4060-9ee6-e7a841862f22";
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/AA5A-18AD";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = fileSystems."/boot" = {
[ { device = "/dev/disk/by-uuid/752114b2-c304-4670-aba8-7288954605bc"; } device = "/dev/disk/by-uuid/AA5A-18AD";
]; fsType = "vfat";
options = ["fmask=0077" "dmask=0077"];
};
swapDevices = [
{device = "/dev/disk/by-uuid/752114b2-c304-4670-aba8-7288954605bc";}
];
# Mount SMB share # Mount SMB share
fileSystems."/mnt/share" = { fileSystems."/mnt/share" = {
device = "//haruko/share"; device = "//haruko/share";
fsType = "cifs"; fsType = "cifs";
options = let options = let
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users"; automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
in ["${automount_opts},credentials=/etc/nixos/smb-secrets,uid=1000,gid=100"];
in ["${automount_opts},credentials=/etc/nixos/smb-secrets,uid=1000,gid=100"];
}; };
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking