171 current 2025-06-03 18:14:20 25.11.20250531.910796c 6.15.0 *
This commit is contained in:
@@ -1,29 +1,33 @@
|
||||
{ config, pkgs, lib, inputs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot = {
|
||||
enable = true;
|
||||
configurationLimit = 10;
|
||||
configurationLimit = 10;
|
||||
};
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
# Garbage collection
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 1w";
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 1w";
|
||||
};
|
||||
|
||||
# Optimize store
|
||||
nix.settings.auto-optimise-store = true;
|
||||
|
||||
|
||||
# Use latest stable kernel
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
# Allow power management
|
||||
powerManagement.enable = true;
|
||||
|
||||
|
||||
# Firmware updates
|
||||
services.fwupd.enable = true;
|
||||
|
||||
@@ -55,11 +59,11 @@
|
||||
services.xserver.enable = true;
|
||||
services.displayManager.sddm = {
|
||||
enable = true;
|
||||
extraPackages = [ pkgs.kdePackages.sddm-kcm ];
|
||||
extraPackages = [pkgs.kdePackages.sddm-kcm];
|
||||
wayland.enable = true;
|
||||
enableHidpi = true;
|
||||
};
|
||||
|
||||
|
||||
services.desktopManager.plasma6.enable = true;
|
||||
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
||||
elisa
|
||||
@@ -69,8 +73,8 @@
|
||||
# Hyprland
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
|
||||
# Catppuccin
|
||||
@@ -107,13 +111,13 @@
|
||||
};
|
||||
|
||||
i18n.inputMethod = {
|
||||
type = "fcitx5";
|
||||
enable = true;
|
||||
fcitx5.addons = with pkgs; [
|
||||
fcitx5-mozc
|
||||
kdePackages.fcitx5-qt
|
||||
];
|
||||
fcitx5.waylandFrontend = true;
|
||||
type = "fcitx5";
|
||||
enable = true;
|
||||
fcitx5.addons = with pkgs; [
|
||||
fcitx5-mozc
|
||||
kdePackages.fcitx5-qt
|
||||
];
|
||||
fcitx5.waylandFrontend = true;
|
||||
};
|
||||
|
||||
# Fonts
|
||||
@@ -140,8 +144,8 @@
|
||||
};
|
||||
|
||||
# Enable Flakes
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
|
||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
@@ -154,13 +158,13 @@
|
||||
users.users.chase = {
|
||||
isNormalUser = true;
|
||||
description = "Chase";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
extraGroups = ["networkmanager" "wheel"];
|
||||
};
|
||||
|
||||
# Install firefox
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
nativeMessagingHosts.packages = [ pkgs.firefoxpwa ];
|
||||
nativeMessagingHosts.packages = [pkgs.firefoxpwa];
|
||||
policies = {
|
||||
DisableTelemetry = true;
|
||||
DisableFirefoxAccounts = true;
|
||||
@@ -172,12 +176,12 @@
|
||||
# Install git and enable cache
|
||||
programs.git = {
|
||||
enable = true;
|
||||
config = {
|
||||
init = {
|
||||
defaultBranch = "main";
|
||||
config = {
|
||||
init = {
|
||||
defaultBranch = "main";
|
||||
};
|
||||
credential = {
|
||||
helper = "cache --timeout 21600";
|
||||
credential = {
|
||||
helper = "cache --timeout 21600";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -185,16 +189,16 @@
|
||||
# Install Neovim
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
defaultEditor = true;
|
||||
configure = {
|
||||
customRC = ''
|
||||
set autoindent
|
||||
set number relativenumber
|
||||
set tabstop=4
|
||||
colorscheme catppuccin-mocha
|
||||
set autoindent
|
||||
set number relativenumber
|
||||
set tabstop=4
|
||||
colorscheme catppuccin-mocha
|
||||
'';
|
||||
packages.myVimPackage = with pkgs.vimPlugins; {
|
||||
start = [ catppuccin-nvim ];
|
||||
start = [catppuccin-nvim];
|
||||
};
|
||||
};
|
||||
viAlias = true;
|
||||
@@ -215,13 +219,13 @@
|
||||
bitwarden-cli
|
||||
bitwarden-desktop
|
||||
(catppuccin-kde.override {
|
||||
flavour = [ "mocha" ];
|
||||
accents = [ "pink" ];
|
||||
winDecStyles = [ "classic" ];
|
||||
flavour = ["mocha"];
|
||||
accents = ["pink"];
|
||||
winDecStyles = ["classic"];
|
||||
})
|
||||
cifs-utils
|
||||
firefoxpwa
|
||||
flashrom
|
||||
flashrom
|
||||
gcc
|
||||
nixd
|
||||
pciutils
|
||||
@@ -232,14 +236,14 @@
|
||||
wget
|
||||
];
|
||||
|
||||
nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
|
||||
nix.nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
||||
|
||||
# ssh agent
|
||||
# programs.mtr.enable = true;
|
||||
programs.gnupg.agent.enable = true;
|
||||
|
||||
programs.ssh = {
|
||||
enableAskPassword = false;
|
||||
enableAskPassword = false;
|
||||
};
|
||||
|
||||
# List services that you want to enable:
|
||||
@@ -251,10 +255,10 @@
|
||||
# Enable the OpenSSH daemon.
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
settings = {
|
||||
PermitRootLogin = "no";
|
||||
PasswordAuthentication = false;
|
||||
KbdInteractiveAuthentication = false;
|
||||
PasswordAuthentication = false;
|
||||
KbdInteractiveAuthentication = false;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -271,5 +275,4 @@
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "24.11"; # Did you read the comment?
|
||||
|
||||
}
|
||||
|
78
flake.nix
78
flake.nix
@@ -4,16 +4,16 @@
|
||||
inputs = {
|
||||
# NixOS official package source, using unstable here
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
nur = {
|
||||
url = "github:nix-community/NUR";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
nur = {
|
||||
url = "github:nix-community/NUR";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
catppuccin.url = "github:catppuccin/nix";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
plasma-manager = {
|
||||
url = "github:nix-community/plasma-manager";
|
||||
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
|
||||
nixosConfigurations = {
|
||||
anzu = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = { inherit inputs; };
|
||||
anzu = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {inherit inputs;};
|
||||
modules = [
|
||||
# Import the previous configuration.nix we used,
|
||||
# so the old configuration file still takes effect
|
||||
./configuration.nix
|
||||
./hosts/anzu/hardware-configuration.nix
|
||||
# Add NUR overlay
|
||||
./hosts/anzu/hardware-configuration.nix
|
||||
# Add NUR overlay
|
||||
nur.modules.nixos.default
|
||||
# Add catppuccin
|
||||
catppuccin.nixosModules.catppuccin
|
||||
# Add home-manager
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager ];
|
||||
home-manager.users.chase = {
|
||||
# Add home-manager
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.sharedModules = [plasma-manager.homeManagerModules.plasma-manager];
|
||||
home-manager.users.chase = {
|
||||
imports = [
|
||||
./home/home.nix
|
||||
catppuccin.homeModules.catppuccin
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
ichigo = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
./configuration.nix
|
||||
./hosts/ichigo/hardware-configuration.nix
|
||||
nur.modules.nixos.default
|
||||
specialArgs = {inherit inputs;};
|
||||
modules = [
|
||||
./configuration.nix
|
||||
./hosts/ichigo/hardware-configuration.nix
|
||||
nur.modules.nixos.default
|
||||
catppuccin.nixosModules.catppuccin
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager ];
|
||||
home-manager.users.chase = {
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.sharedModules = [plasma-manager.homeManagerModules.plasma-manager];
|
||||
home-manager.users.chase = {
|
||||
imports = [
|
||||
./home/home.nix
|
||||
catppuccin.homeModules.catppuccin
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
355
home/home.nix
355
home/home.nix
@@ -1,6 +1,8 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./plasma.nix
|
||||
];
|
||||
@@ -12,8 +14,8 @@
|
||||
stateVersion = "24.11";
|
||||
file = {
|
||||
"scripts" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink ./scripts;
|
||||
recursive = true;
|
||||
source = config.lib.file.mkOutOfStoreSymlink ./scripts;
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
sessionPath = [
|
||||
@@ -27,15 +29,15 @@
|
||||
|
||||
xdg = {
|
||||
enable = true;
|
||||
userDirs.enable = true;
|
||||
configFile = {
|
||||
"emacs/early-init.el" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink ./emacs/early-init.el;
|
||||
userDirs.enable = true;
|
||||
configFile = {
|
||||
"emacs/early-init.el" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink ./emacs/early-init.el;
|
||||
};
|
||||
"emacs/init.el" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink ./emacs/init.el;
|
||||
"emacs/init.el" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink ./emacs/init.el;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
catppuccin = {
|
||||
@@ -45,17 +47,17 @@
|
||||
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
bashrcExtra = ''
|
||||
enableCompletion = true;
|
||||
bashrcExtra = ''
|
||||
export SSH_AUTH_SOCK=/home/chase/.bitwarden-ssh-agent.sock
|
||||
'';
|
||||
historyIgnore = [
|
||||
"ls"
|
||||
historyIgnore = [
|
||||
"ls"
|
||||
"ls -a"
|
||||
"ls -l"
|
||||
"ls -la"
|
||||
"cd"
|
||||
"exit"
|
||||
"cd"
|
||||
"exit"
|
||||
];
|
||||
};
|
||||
|
||||
@@ -68,122 +70,130 @@
|
||||
|
||||
programs.fastfetch = {
|
||||
enable = true;
|
||||
settings = {
|
||||
logo = {
|
||||
source = "nixos_small";
|
||||
settings = {
|
||||
logo = {
|
||||
source = "nixos_small";
|
||||
};
|
||||
display = {
|
||||
size = {
|
||||
binaryPrefix = "si";
|
||||
};
|
||||
color = "blue";
|
||||
separator = ": ";
|
||||
display = {
|
||||
size = {
|
||||
binaryPrefix = "si";
|
||||
};
|
||||
color = "blue";
|
||||
separator = ": ";
|
||||
};
|
||||
modules = [
|
||||
"title"
|
||||
"separator"
|
||||
"os"
|
||||
"host"
|
||||
"uptime"
|
||||
"kernel"
|
||||
"packages"
|
||||
"lm"
|
||||
"de"
|
||||
"wm"
|
||||
"shell"
|
||||
"terminal"
|
||||
"terminalfont"
|
||||
{
|
||||
key = "Display";
|
||||
type = "display";
|
||||
}
|
||||
"cpu"
|
||||
"gpu"
|
||||
"memory"
|
||||
"swap"
|
||||
"disk"
|
||||
"datetime"
|
||||
"colors"
|
||||
"break"
|
||||
"player"
|
||||
"media"
|
||||
modules = [
|
||||
"title"
|
||||
"separator"
|
||||
"os"
|
||||
"host"
|
||||
"uptime"
|
||||
"kernel"
|
||||
"packages"
|
||||
"lm"
|
||||
"de"
|
||||
"wm"
|
||||
"shell"
|
||||
"terminal"
|
||||
"terminalfont"
|
||||
{
|
||||
key = "Display";
|
||||
type = "display";
|
||||
}
|
||||
"cpu"
|
||||
"gpu"
|
||||
"memory"
|
||||
"swap"
|
||||
"disk"
|
||||
"datetime"
|
||||
"colors"
|
||||
"break"
|
||||
"player"
|
||||
"media"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
nativeMessagingHosts = [ pkgs.firefoxpwa ];
|
||||
nativeMessagingHosts = [pkgs.firefoxpwa];
|
||||
profiles = {
|
||||
default = {
|
||||
id = 0;
|
||||
name = "default";
|
||||
isDefault = true;
|
||||
extensions = {
|
||||
packages = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||
awesome-rss
|
||||
betterttv
|
||||
bitwarden
|
||||
clearurls
|
||||
control-panel-for-twitter
|
||||
enhancer-for-youtube
|
||||
facebook-container
|
||||
flagfox
|
||||
istilldontcareaboutcookies
|
||||
privacy-badger
|
||||
return-youtube-dislikes
|
||||
search-by-image
|
||||
sponsorblock
|
||||
tab-session-manager
|
||||
tampermonkey
|
||||
ublock-origin
|
||||
];
|
||||
};
|
||||
settings = {
|
||||
"browser.formfill.enable" = false;
|
||||
"browser.ml.chat.enabled" = false;
|
||||
"browser.ml.chat.shortcuts" = false;
|
||||
"browser.ml.chat.sidebar" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.snippets" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsored" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
"browser.newtabpage.activity-stream.system.showSponsored" = false;
|
||||
"browser.topsites.contile.enabled" = false;
|
||||
"browser.urlbar.unitConversion.enabled" = true;
|
||||
"extensions.formautofill.addresses.enabled" = false;
|
||||
"extensions.formautofill.creditCards.enabled" = false;
|
||||
"extensions.pocket.enabled" = false;
|
||||
"general.autoScroll" = true;
|
||||
"widget.use-xdg-desktop-portal.file-picker" = 1;
|
||||
"signon.rememberSignons" = false;
|
||||
};
|
||||
search = {
|
||||
force = true;
|
||||
default = "SearX";
|
||||
order = [ "SearX" "google" ];
|
||||
engines = {
|
||||
"Nix Packages" = {
|
||||
urls = [{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{ name = "type"; value = "packages"; }
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
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;
|
||||
};
|
||||
name = "default";
|
||||
isDefault = true;
|
||||
extensions = {
|
||||
packages = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||
awesome-rss
|
||||
betterttv
|
||||
bitwarden
|
||||
clearurls
|
||||
control-panel-for-twitter
|
||||
enhancer-for-youtube
|
||||
facebook-container
|
||||
flagfox
|
||||
istilldontcareaboutcookies
|
||||
privacy-badger
|
||||
return-youtube-dislikes
|
||||
search-by-image
|
||||
sponsorblock
|
||||
tab-session-manager
|
||||
tampermonkey
|
||||
ublock-origin
|
||||
];
|
||||
};
|
||||
settings = {
|
||||
"browser.formfill.enable" = false;
|
||||
"browser.ml.chat.enabled" = false;
|
||||
"browser.ml.chat.shortcuts" = false;
|
||||
"browser.ml.chat.sidebar" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.snippets" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsored" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
"browser.newtabpage.activity-stream.system.showSponsored" = false;
|
||||
"browser.topsites.contile.enabled" = false;
|
||||
"browser.urlbar.unitConversion.enabled" = true;
|
||||
"extensions.formautofill.addresses.enabled" = false;
|
||||
"extensions.formautofill.creditCards.enabled" = false;
|
||||
"extensions.pocket.enabled" = false;
|
||||
"general.autoScroll" = true;
|
||||
"widget.use-xdg-desktop-portal.file-picker" = 1;
|
||||
"signon.rememberSignons" = false;
|
||||
};
|
||||
search = {
|
||||
force = true;
|
||||
default = "SearX";
|
||||
order = ["SearX" "google"];
|
||||
engines = {
|
||||
"Nix Packages" = {
|
||||
urls = [
|
||||
{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{
|
||||
name = "type";
|
||||
value = "packages";
|
||||
}
|
||||
{
|
||||
name = "query";
|
||||
value = "{searchTerms}";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
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 = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
installBatSyntax = true;
|
||||
installVimSyntax = true;
|
||||
settings = {
|
||||
font-family = "BlexMono Nerd Font";
|
||||
font-size = 11;
|
||||
};
|
||||
enableBashIntegration = true;
|
||||
installBatSyntax = true;
|
||||
installVimSyntax = true;
|
||||
settings = {
|
||||
font-family = "BlexMono Nerd Font";
|
||||
font-size = 11;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "chase";
|
||||
userEmail = "chase@cathoderaytube.net";
|
||||
extraConfig = {
|
||||
extraConfig = {
|
||||
init.defaultBranch = "main";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.git-credential-oauth.enable = true;
|
||||
|
||||
programs.gpg = {
|
||||
enable = true;
|
||||
homedir = "${config.xdg.dataHome}/gnupg";
|
||||
homedir = "${config.xdg.dataHome}/gnupg";
|
||||
};
|
||||
|
||||
programs.htop.enable = true;
|
||||
|
||||
programs.mpv = {
|
||||
enable = true;
|
||||
config = {
|
||||
profile = "gpu-hq";
|
||||
ytdl-format = "bestvideo+bestaudio";
|
||||
config = {
|
||||
profile = "gpu-hq";
|
||||
ytdl-format = "bestvideo+bestaudio";
|
||||
};
|
||||
scripts = [
|
||||
pkgs.mpvScripts.mpris
|
||||
scripts = [
|
||||
pkgs.mpvScripts.mpris
|
||||
];
|
||||
};
|
||||
|
||||
@@ -256,52 +266,52 @@
|
||||
style = "bold green";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.ranger.enable = true;
|
||||
|
||||
programs.rmpc = {
|
||||
enable = true;
|
||||
config = ''
|
||||
(
|
||||
enable_config_hot_reload: true,
|
||||
)
|
||||
'';
|
||||
config = ''
|
||||
(
|
||||
enable_config_hot_reload: true,
|
||||
)
|
||||
'';
|
||||
};
|
||||
|
||||
programs.texlive.enable = true;
|
||||
|
||||
programs.yazi = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enableBashIntegration = true;
|
||||
};
|
||||
|
||||
programs.yt-dlp = {
|
||||
enable = true;
|
||||
settings = {
|
||||
embed-thumbnail = true;
|
||||
settings = {
|
||||
embed-thumbnail = true;
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
anki-bin
|
||||
audacity
|
||||
ffmpeg
|
||||
fortune
|
||||
gimp
|
||||
ibm-plex
|
||||
imagemagick
|
||||
kdePackages.kdenlive
|
||||
libnotify
|
||||
libreoffice
|
||||
ffmpeg
|
||||
fortune
|
||||
gimp
|
||||
ibm-plex
|
||||
imagemagick
|
||||
kdePackages.kdenlive
|
||||
libnotify
|
||||
libreoffice
|
||||
logiops
|
||||
lolcat
|
||||
nerd-fonts.blex-mono
|
||||
nerd-fonts.blex-mono
|
||||
picard
|
||||
protonmail-bridge
|
||||
thunderbird
|
||||
ueberzugpp
|
||||
vcv-rack
|
||||
protonmail-bridge
|
||||
thunderbird
|
||||
ueberzugpp
|
||||
vcv-rack
|
||||
runelite
|
||||
];
|
||||
|
||||
@@ -322,30 +332,29 @@
|
||||
|
||||
services.mpd = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
audio_output {
|
||||
type "pipewire"
|
||||
name "Pipewire Output"
|
||||
}
|
||||
extraConfig = ''
|
||||
audio_output {
|
||||
type "pipewire"
|
||||
name "Pipewire Output"
|
||||
}
|
||||
'';
|
||||
musicDirectory = "/mnt/share/media/music";
|
||||
musicDirectory = "/mnt/share/media/music";
|
||||
};
|
||||
|
||||
services.mpd-discord-rpc = {
|
||||
enable = true;
|
||||
settings = {
|
||||
hosts = [ "localhost:6600" ];
|
||||
settings = {
|
||||
hosts = ["localhost:6600"];
|
||||
format = {
|
||||
details = "$track - $title [$duration]";
|
||||
state = "$artist / $album ($date)";
|
||||
timestamp = "elapsed";
|
||||
timestamp = "elapsed";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.mpd-mpris = {
|
||||
enable = true;
|
||||
mpd.useLocal = true;
|
||||
mpd.useLocal = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
@@ -2,9 +2,9 @@
|
||||
programs.plasma = {
|
||||
enable = true;
|
||||
shortcuts = {
|
||||
"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 Japanese" = [ ];
|
||||
"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 Japanese" = [];
|
||||
"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";
|
||||
"kaccess"."Toggle Screen Reader On and Off" = "Meta+Alt+S";
|
||||
@@ -28,24 +28,24 @@
|
||||
"ksmserver"."Reboot Without Confirmation" = "none,,Reboot Without Confirmation";
|
||||
"ksmserver"."Shut Down" = "none,,Shut Down";
|
||||
"kwin"."Activate Window Demanding Attention" = "Meta+Ctrl+A";
|
||||
"kwin"."Cycle Overview" = [ ];
|
||||
"kwin"."Cycle Overview Opposite" = [ ];
|
||||
"kwin"."Cycle Overview" = [];
|
||||
"kwin"."Cycle Overview Opposite" = [];
|
||||
"kwin"."Decrease Opacity" = "none,,Decrease Opacity of Active Window by 5%";
|
||||
"kwin"."Edit Tiles" = "Meta+T";
|
||||
"kwin"."Expose" = "Ctrl+F9";
|
||||
"kwin"."ExposeAll" = ["Ctrl+F10" "Launch (C),Ctrl+F10" "Launch (C),Toggle Present Windows (All desktops)"];
|
||||
"kwin"."ExposeClass" = "Ctrl+F7";
|
||||
"kwin"."ExposeClassCurrentDesktop" = [ ];
|
||||
"kwin"."ExposeClassCurrentDesktop" = [];
|
||||
"kwin"."Grid View" = "Meta+G";
|
||||
"kwin"."Increase Opacity" = "none,,Increase Opacity of Active Window by 5%";
|
||||
"kwin"."Kill Window" = "Meta+Ctrl+Esc";
|
||||
"kwin"."Move Tablet to Next Output" = [ ];
|
||||
"kwin"."Move Tablet to Next Output" = [];
|
||||
"kwin"."MoveMouseToCenter" = "Meta+F6";
|
||||
"kwin"."MoveMouseToFocus" = "Meta+F5";
|
||||
"kwin"."MoveZoomDown" = [ ];
|
||||
"kwin"."MoveZoomLeft" = [ ];
|
||||
"kwin"."MoveZoomRight" = [ ];
|
||||
"kwin"."MoveZoomUp" = [ ];
|
||||
"kwin"."MoveZoomDown" = [];
|
||||
"kwin"."MoveZoomLeft" = [];
|
||||
"kwin"."MoveZoomRight" = [];
|
||||
"kwin"."MoveZoomUp" = [];
|
||||
"kwin"."Overview" = "Meta+W";
|
||||
"kwin"."Setup Window Shortcut" = "none,,Setup Window Shortcut";
|
||||
"kwin"."Show Desktop" = "Meta+D";
|
||||
@@ -93,7 +93,7 @@
|
||||
"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 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"."Walk Through Windows" = "Alt+Tab";
|
||||
"kwin"."Walk Through Windows (Reverse)" = "Alt+Shift+Tab";
|
||||
@@ -203,7 +203,7 @@
|
||||
"org_kde_powerdevil"."PowerOff" = "Power Off";
|
||||
"org_kde_powerdevil"."Sleep" = "Sleep";
|
||||
"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"];
|
||||
"plasmashell"."activate application launcher" = ["Meta" "Alt+F1,Meta" "Alt+F1,Activate Application Launcher"];
|
||||
"plasmashell"."activate task manager entry 1" = "Meta+1";
|
||||
|
@@ -1,33 +0,0 @@
|
||||
#!/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
|
@@ -1,49 +1,52 @@
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
### this machine ###
|
||||
networking.hostName = "anzu";
|
||||
|
||||
### hardware config ###
|
||||
|
||||
|
||||
# encrypted root
|
||||
boot.initrd.luks.devices."luks-b03a8b46-6a1b-4855-9cf9-304d884f50ae".device = "/dev/disk/by-uuid/b03a8b46-6a1b-4855-9cf9-304d884f50ae";
|
||||
|
||||
|
||||
# encrypted swap
|
||||
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.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "usb_storage" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-amd"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/1518dbe1-8322-48d3-9fc9-cd0478ccbf43";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/1518dbe1-8322-48d3-9fc9-cd0478ccbf43";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/1FCD-5A26";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0077" "dmask=0077" ];
|
||||
};
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/1FCD-5A26";
|
||||
fsType = "vfat";
|
||||
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
|
||||
fileSystems."/mnt/share" = {
|
||||
device = "//haruko/share";
|
||||
fsType = "cifs";
|
||||
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";
|
||||
|
||||
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
|
||||
|
@@ -1,48 +1,51 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
### this machine ###
|
||||
networking.hostName = "ichigo";
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-amd"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/d248b616-bdb7-463d-94a6-9718de8dc85a";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/d248b616-bdb7-463d-94a6-9718de8dc85a";
|
||||
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-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 =
|
||||
[ { device = "/dev/disk/by-uuid/752114b2-c304-4670-aba8-7288954605bc"; }
|
||||
];
|
||||
|
||||
fileSystems."/boot" = {
|
||||
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
|
||||
fileSystems."/mnt/share" = {
|
||||
device = "//haruko/share";
|
||||
fsType = "cifs";
|
||||
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";
|
||||
|
||||
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
|
||||
|
Reference in New Issue
Block a user