mirror of
https://git.gay/xqtc/nixos-config
synced 2024-11-22 02:00:32 +01:00
Alejandra for code formatting; Formatting
This commit is contained in:
parent
741846c7f2
commit
9a79731723
|
@ -1,7 +1,9 @@
|
||||||
{ config, lib, inputs, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
config,
|
||||||
"electron-25.9.0"
|
lib,
|
||||||
"electron-24.8.6"
|
inputs,
|
||||||
];
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
nixpkgs.config.permittedInsecurePackages = ["electron-25.9.0" "electron-24.8.6"];
|
||||||
}
|
}
|
||||||
|
|
32
flake.nix
32
flake.nix
|
@ -18,19 +18,31 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs @ {self, nixpkgs, nixpkgs-master, firefox-addons, home-manager, nixos-hardware, nixvim, ...}: let
|
outputs = inputs @ {
|
||||||
|
self,
|
||||||
|
nixpkgs,
|
||||||
|
nixpkgs-master,
|
||||||
|
firefox-addons,
|
||||||
|
home-manager,
|
||||||
|
nixos-hardware,
|
||||||
|
nixvim,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
lib = nixpkgs.lib;
|
lib = nixpkgs.lib;
|
||||||
util = (import ./overlays/util.nix {} {}).util;
|
util = (import ./overlays/util.nix {} {}).util;
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = import nixpkgs { inherit system; overlays =
|
pkgs = import nixpkgs {
|
||||||
util.nixFilesIn ./overlays; };
|
|
||||||
in {
|
|
||||||
nixosConfigurations = pkgs.util.mapHostAttrs (host: host) (host: lib.nixosSystem {
|
|
||||||
inherit system;
|
inherit system;
|
||||||
modules = [
|
overlays = util.nixFilesIn ./overlays;
|
||||||
./hosts/${host}
|
};
|
||||||
];
|
in {
|
||||||
specialArgs = { inherit inputs; };
|
nixosConfigurations = pkgs.util.mapHostAttrs (host: host) (host:
|
||||||
});
|
lib.nixosSystem {
|
||||||
|
inherit system;
|
||||||
|
modules = [./hosts/${host}];
|
||||||
|
specialArgs = {inherit inputs;};
|
||||||
|
});
|
||||||
|
formatter.x86_64-linux =
|
||||||
|
inputs.nixpkgs.legacyPackages.x86_64-linux.alejandra;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
431
home/default.nix
431
home/default.nix
|
@ -1,251 +1,240 @@
|
||||||
{ config, pkgs, lib, inputs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./modules/nixvim.nix
|
||||||
|
./modules/firefox.nix
|
||||||
|
#./modules/ssh.nix
|
||||||
|
];
|
||||||
|
home.username = "xqtc";
|
||||||
|
home.homeDirectory = "/home/xqtc";
|
||||||
|
|
||||||
imports = [
|
programs.git = {
|
||||||
./modules/nixvim.nix
|
enable = true;
|
||||||
./modules/firefox.nix
|
userName = "xqtc161";
|
||||||
#./modules/ssh.nix
|
userEmail = "xqtc@tutanota.com";
|
||||||
];
|
};
|
||||||
home.username = "xqtc";
|
programs.wezterm = {
|
||||||
home.homeDirectory = "/home/xqtc";
|
enable = true;
|
||||||
|
extraConfig = builtins.readFile ./config-files/wezterm.lua;
|
||||||
programs.git = {
|
};
|
||||||
enable = true;
|
|
||||||
userName = "xqtc161";
|
|
||||||
userEmail = "xqtc@tutanota.com";
|
|
||||||
};
|
|
||||||
programs.wezterm = {
|
|
||||||
enable = true;
|
|
||||||
extraConfig = builtins.readFile ./config-files/wezterm.lua;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.joshuto = {
|
programs.joshuto = {enable = true;};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
zsh.enable = true;
|
||||||
|
atuin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
enableNushellIntegration = true;
|
||||||
};
|
};
|
||||||
|
eza.enable = true;
|
||||||
programs = {
|
nushell = {
|
||||||
zsh.enable = true;
|
enable = true;
|
||||||
atuin = {
|
shellAliases = {ls = "eza -l --icons --group-directories-first";};
|
||||||
enable = true;
|
extraConfig = "uwufetch --image";
|
||||||
enableNushellIntegration = true;
|
configFile = {
|
||||||
};
|
text = ''
|
||||||
eza.enable = true;
|
$env.config = {
|
||||||
nushell = {
|
show_banner: false
|
||||||
enable = true;
|
}
|
||||||
shellAliases = {
|
'';
|
||||||
ls = "eza -l --icons --group-directories-first";
|
|
||||||
};
|
|
||||||
extraConfig = "uwufetch --image";
|
|
||||||
configFile = { text = ''
|
|
||||||
$env.config = {
|
|
||||||
show_banner: false
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
carapace.enable = true;
|
|
||||||
carapace.enableNushellIntegration = true;
|
|
||||||
starship =
|
|
||||||
let
|
|
||||||
flavour = "mocha";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
enableNushellIntegration = true;
|
|
||||||
enableBashIntegration = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
settings = {
|
|
||||||
# Other config here
|
|
||||||
character = {
|
|
||||||
success_symbol = "[λ::](bold green)";
|
|
||||||
error_symbol = "[λ::](bold red)";
|
|
||||||
};
|
|
||||||
username = {
|
|
||||||
style_user = "bold pink";
|
|
||||||
format = "[$user]($style)";
|
|
||||||
show_always = true;
|
|
||||||
disabled = false;
|
|
||||||
};
|
|
||||||
hostname = {
|
|
||||||
ssh_only = false;
|
|
||||||
format = "[ 🏳️⚧️ ](bold pink)[$hostname](bold flamingo)";
|
|
||||||
disabled = false;
|
|
||||||
};
|
|
||||||
right_format = "$all";
|
|
||||||
format = ''$username$hostname in $directory
|
|
||||||
$character'';
|
|
||||||
palette = "catppuccin_${flavour}";
|
|
||||||
} // builtins.fromTOML (builtins.readFile
|
|
||||||
(pkgs.fetchFromGitHub
|
|
||||||
{
|
|
||||||
owner = "catppuccin";
|
|
||||||
repo = "starship";
|
|
||||||
rev = "5629d2356f62a9f2f8efad3ff37476c19969bd4f"; # Replace with the latest commit hash
|
|
||||||
sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0=";
|
|
||||||
} + /palettes/${flavour}.toml));
|
|
||||||
};
|
|
||||||
};
|
|
||||||
dconf.enable = true;
|
|
||||||
dconf.settings = {
|
|
||||||
"org/gnome/desktop/interface" = {
|
|
||||||
color-scheme = "prefer-dark";
|
|
||||||
cursor-theme = "Adwaita";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
carapace.enable = true;
|
||||||
gtk = {
|
carapace.enableNushellIntegration = true;
|
||||||
|
starship = let
|
||||||
|
flavour = "mocha";
|
||||||
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = {
|
enableNushellIntegration = true;
|
||||||
name = "Catppuccin-Mocha-Compact-Pink-Dark";
|
enableBashIntegration = true;
|
||||||
package = pkgs.catppuccin-gtk.override {
|
enableZshIntegration = true;
|
||||||
accents = [ "pink" ];
|
settings =
|
||||||
size = "compact";
|
{
|
||||||
tweaks = [ "rimless" ];
|
# Other config here
|
||||||
variant = "mocha";
|
character = {
|
||||||
|
success_symbol = "[λ::](bold green)";
|
||||||
|
error_symbol = "[λ::](bold red)";
|
||||||
|
};
|
||||||
|
username = {
|
||||||
|
style_user = "bold pink";
|
||||||
|
format = "[$user]($style)";
|
||||||
|
show_always = true;
|
||||||
|
disabled = false;
|
||||||
|
};
|
||||||
|
hostname = {
|
||||||
|
ssh_only = false;
|
||||||
|
format = "[ 🏳️⚧️ ](bold pink)[$hostname](bold flamingo)";
|
||||||
|
disabled = false;
|
||||||
|
};
|
||||||
|
right_format = "$all";
|
||||||
|
format = ''
|
||||||
|
$username$hostname in $directory
|
||||||
|
$character'';
|
||||||
|
palette = "catppuccin_${flavour}";
|
||||||
|
}
|
||||||
|
// builtins.fromTOML (builtins.readFile (pkgs.fetchFromGitHub {
|
||||||
|
owner = "catppuccin";
|
||||||
|
repo = "starship";
|
||||||
|
rev = "5629d2356f62a9f2f8efad3ff37476c19969bd4f"; # Replace with the latest commit hash
|
||||||
|
sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0=";
|
||||||
|
}
|
||||||
|
+ /palettes/${flavour}.toml));
|
||||||
|
};
|
||||||
|
};
|
||||||
|
dconf.enable = true;
|
||||||
|
dconf.settings = {
|
||||||
|
"org/gnome/desktop/interface" = {
|
||||||
|
color-scheme = "prefer-dark";
|
||||||
|
cursor-theme = "Adwaita";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
theme = {
|
||||||
|
name = "Catppuccin-Mocha-Compact-Pink-Dark";
|
||||||
|
package = pkgs.catppuccin-gtk.override {
|
||||||
|
accents = ["pink"];
|
||||||
|
size = "compact";
|
||||||
|
tweaks = ["rimless"];
|
||||||
|
variant = "mocha";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.sessionVariables.DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox";
|
||||||
|
|
||||||
|
home.file."~/.local/share/fonts/AppleColorEmoji.ttf".source =
|
||||||
|
./config-files/AppleColorEmoji.ttf;
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.hyprland;
|
||||||
|
|
||||||
|
#xwayland.enable = true;
|
||||||
|
|
||||||
|
#enableNvidiaPatches = true;
|
||||||
|
extraConfig = builtins.readFile ./config-files/hyprland.conf;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
mainBar = {
|
||||||
|
layer = "top";
|
||||||
|
position = "top";
|
||||||
|
height = 30;
|
||||||
|
modules-left = ["hyprland/workspaces"];
|
||||||
|
#modules-center = [ "hyprland/window" ];
|
||||||
|
modules-right = ["tray" "network" "battery" "battery#bat2" "clock"];
|
||||||
|
"tray" = {"icon-size" = 21;};
|
||||||
|
"network" = {
|
||||||
|
"format-wifi" = "NET: {essid} ({signalStrength}%) ";
|
||||||
|
"format-ethernet" = "{ifname} ";
|
||||||
|
"format-disconnected" = "";
|
||||||
|
"max-length" = 50;
|
||||||
|
};
|
||||||
|
"battery" = {
|
||||||
|
"bat" = "BAT0";
|
||||||
|
"interval" = 10;
|
||||||
|
"states" = {
|
||||||
|
"warning" = 30;
|
||||||
|
"critical" = 15;
|
||||||
|
};
|
||||||
|
"format" = " BAT IN: {capacity}%";
|
||||||
|
#"format-icons" = ''["", "", "", "", ""]'';
|
||||||
|
"max-length" = 25;
|
||||||
|
};
|
||||||
|
"battery#bat2" = {
|
||||||
|
"bat" = "BAT1";
|
||||||
|
"interval" = 10;
|
||||||
|
"states" = {
|
||||||
|
"warning" = 30;
|
||||||
|
"critical" = 15;
|
||||||
|
};
|
||||||
|
"format" = " BAT EX: {capacity}%";
|
||||||
|
#"format-icons" = ''["", "", "", "", ""]'';
|
||||||
|
"max-length" = 25;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
style = builtins.readFile ./config-files/waybar-mocha.css;
|
||||||
|
};
|
||||||
|
|
||||||
home.sessionVariables.DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox";
|
services.mako = {
|
||||||
|
enable = true;
|
||||||
|
font = "Hack Nerd Font 15";
|
||||||
|
backgroundColor = "#1e1e2e";
|
||||||
|
textColor = "#cdd6f4";
|
||||||
|
};
|
||||||
|
|
||||||
home.file."~/.local/share/fonts/AppleColorEmoji.ttf".source = ./config-files/AppleColorEmoji.ttf;
|
services.easyeffects = {enable = true;};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
neofetch
|
||||||
|
uwufetch
|
||||||
|
btop
|
||||||
|
iftop
|
||||||
|
ranger
|
||||||
|
|
||||||
#programs.firefox = {
|
obsidian
|
||||||
# enable = true;
|
|
||||||
# package = pkgs.firefox.override {
|
|
||||||
# cfg = {
|
|
||||||
# enableGnomeExtensions = true;
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
#};
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.hyprland;
|
|
||||||
|
|
||||||
#xwayland.enable = true;
|
moodle-dl
|
||||||
|
|
||||||
#enableNvidiaPatches = true;
|
brightnessctl
|
||||||
extraConfig = builtins.readFile ./config-files/hyprland.conf;
|
pavucontrol
|
||||||
};
|
|
||||||
|
|
||||||
programs.waybar = {
|
bitwarden
|
||||||
enable = true;
|
bitwarden-cli
|
||||||
settings = {
|
|
||||||
mainBar = {
|
|
||||||
layer = "top";
|
|
||||||
position = "top";
|
|
||||||
height = 30;
|
|
||||||
modules-left = [ "hyprland/workspaces" ];
|
|
||||||
#modules-center = [ "hyprland/window" ];
|
|
||||||
modules-right = [ "tray" "network" "battery" "battery#bat2" "clock" ];
|
|
||||||
"tray" = {
|
|
||||||
"icon-size" = 21;
|
|
||||||
};
|
|
||||||
"network" = {
|
|
||||||
"format-wifi"= "NET: {essid} ({signalStrength}%) ";
|
|
||||||
"format-ethernet" = "{ifname} ";
|
|
||||||
"format-disconnected" = "";
|
|
||||||
"max-length" = 50;
|
|
||||||
};
|
|
||||||
"battery" = {
|
|
||||||
"bat" = "BAT0";
|
|
||||||
"interval" = 10;
|
|
||||||
"states" = {
|
|
||||||
"warning" = 30;
|
|
||||||
"critical" = 15;
|
|
||||||
};
|
|
||||||
"format" = " BAT IN: {capacity}%";
|
|
||||||
#"format-icons" = ''["", "", "", "", ""]'';
|
|
||||||
"max-length" = 25;
|
|
||||||
};
|
|
||||||
"battery#bat2" = {
|
|
||||||
"bat" = "BAT1";
|
|
||||||
"interval" = 10;
|
|
||||||
"states" = {
|
|
||||||
"warning" = 30;
|
|
||||||
"critical" = 15;
|
|
||||||
};
|
|
||||||
"format" = " BAT EX: {capacity}%";
|
|
||||||
#"format-icons" = ''["", "", "", "", ""]'';
|
|
||||||
"max-length" = 25;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
style = builtins.readFile ./config-files/waybar-mocha.css;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.mako = {
|
sway-contrib.grimshot
|
||||||
enable = true;
|
|
||||||
font = "Hack Nerd Font 15";
|
|
||||||
backgroundColor = "#1e1e2e";
|
|
||||||
textColor = "#cdd6f4";
|
|
||||||
};
|
|
||||||
|
|
||||||
services.easyeffects = {
|
libnotify
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
strace
|
||||||
neofetch
|
ltrace
|
||||||
uwufetch
|
|
||||||
btop
|
|
||||||
iftop
|
|
||||||
ranger
|
|
||||||
|
|
||||||
obsidian
|
nodejs
|
||||||
|
|
||||||
moodle-dl
|
nerdfonts
|
||||||
|
vivaldi
|
||||||
|
vivaldi-ffmpeg-codecs
|
||||||
|
|
||||||
brightnessctl
|
signal-desktop
|
||||||
pavucontrol
|
vesktop
|
||||||
|
discord
|
||||||
bitwarden
|
telegram-desktop
|
||||||
bitwarden-cli
|
webex
|
||||||
|
element-desktop
|
||||||
|
|
||||||
sway-contrib.grimshot
|
qbittorrent
|
||||||
|
nicotine-plus
|
||||||
libnotify
|
|
||||||
|
|
||||||
strace
|
|
||||||
ltrace
|
|
||||||
|
|
||||||
nodejs
|
|
||||||
|
|
||||||
nerdfonts
|
|
||||||
vivaldi
|
|
||||||
vivaldi-ffmpeg-codecs
|
|
||||||
|
|
||||||
signal-desktop
|
|
||||||
vesktop
|
|
||||||
discord
|
|
||||||
telegram-desktop
|
|
||||||
webex
|
|
||||||
element-desktop
|
|
||||||
|
|
||||||
qbittorrent
|
|
||||||
nicotine-plus
|
|
||||||
|
|
||||||
via
|
via
|
||||||
qmk
|
qmk
|
||||||
qmk-udev-rules
|
qmk-udev-rules
|
||||||
|
|
||||||
neovide
|
|
||||||
|
|
||||||
yubioath-flutter
|
neovide
|
||||||
|
|
||||||
steam
|
yubioath-flutter
|
||||||
protonup-qt
|
|
||||||
|
steam
|
||||||
spotify
|
protonup-qt
|
||||||
sayonara
|
|
||||||
mpv
|
spotify
|
||||||
feishin
|
sayonara
|
||||||
|
mpv
|
||||||
nixos-icons
|
feishin
|
||||||
swww
|
|
||||||
];
|
nixos-icons
|
||||||
|
swww
|
||||||
|
];
|
||||||
home.stateVersion = "23.11";
|
home.stateVersion = "23.11";
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,17 @@
|
||||||
{ inputs, outputs, config, pkgs, ... }:
|
|
||||||
with inputs;
|
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with inputs; {
|
||||||
home.sessionVariables.DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox";
|
home.sessionVariables.DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox";
|
||||||
|
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.firefox.override {
|
package =
|
||||||
cfg = {
|
pkgs.firefox.override {cfg = {enableGnomeExtensions = true;};};
|
||||||
enableGnomeExtensions = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
profiles.xqtc = {
|
profiles.xqtc = {
|
||||||
isDefault = true;
|
isDefault = true;
|
||||||
extensions = with inputs.firefox-addons.packages.${pkgs.system}; [
|
extensions = with inputs.firefox-addons.packages.${pkgs.system}; [
|
||||||
|
@ -18,52 +19,77 @@ with inputs;
|
||||||
bitwarden
|
bitwarden
|
||||||
sidebery
|
sidebery
|
||||||
darkreader
|
darkreader
|
||||||
stylus
|
stylus
|
||||||
vimium-c
|
vimium-c
|
||||||
noscript
|
noscript
|
||||||
];
|
];
|
||||||
search = {
|
search = {
|
||||||
default = "SearX";
|
default = "SearX";
|
||||||
force = true;
|
force = true;
|
||||||
engines = {
|
engines = {
|
||||||
"SearX" = {
|
"SearX" = {
|
||||||
urls = [{
|
urls = [
|
||||||
template = "https://searx.org/search";
|
{
|
||||||
params = [
|
template = "https://searx.org/search";
|
||||||
{ name = "q"; value = "{searchTerms}"; }
|
params = [
|
||||||
];
|
{
|
||||||
}];
|
name = "q";
|
||||||
};
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
"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";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
definedAliases = [ "@np" ];
|
definedAliases = ["@np"];
|
||||||
};
|
};
|
||||||
"Nix Options" = {
|
"Nix Options" = {
|
||||||
urls = [{
|
urls = [
|
||||||
template = "https://search.nixos.org/options";
|
{
|
||||||
params = [
|
template = "https://search.nixos.org/options";
|
||||||
{ name = "type"; value = "options"; }
|
params = [
|
||||||
{ name = "query"; value = "{searchTerms}"; }
|
{
|
||||||
];
|
name = "type";
|
||||||
}];
|
value = "options";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
definedAliases = [ "@no" ];
|
definedAliases = ["@no"];
|
||||||
};
|
};
|
||||||
|
|
||||||
"NixOS Wiki" = {
|
"NixOS Wiki" = {
|
||||||
urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }];
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://nixos.wiki/index.php?search={searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
iconUpdateURL = "https://nixos.wiki/favicon.png";
|
iconUpdateURL = "https://nixos.wiki/favicon.png";
|
||||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||||
definedAliases = [ "@nw" ];
|
definedAliases = ["@nw"];
|
||||||
};
|
};
|
||||||
|
|
||||||
"Bing".metaData.hidden = true;
|
"Bing".metaData.hidden = true;
|
||||||
|
@ -82,22 +108,25 @@ with inputs;
|
||||||
"browser.theme.toolbar-theme" = "0";
|
"browser.theme.toolbar-theme" = "0";
|
||||||
"browser.newtabpage.activity-stream.showSponsored" = false;
|
"browser.newtabpage.activity-stream.showSponsored" = false;
|
||||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||||
"services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsored" = false;
|
"services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsored" =
|
||||||
"services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
false;
|
||||||
|
"services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsoredTopSites" =
|
||||||
|
false;
|
||||||
"browser.toolbars.bookmarks.visibility" = "never";
|
"browser.toolbars.bookmarks.visibility" = "never";
|
||||||
"general.useragent.locale" = "de-DE";
|
"general.useragent.locale" = "de-DE";
|
||||||
"distribution.searchplugins.defaultLocale" = "de-DE";
|
"distribution.searchplugins.defaultLocale" = "de-DE";
|
||||||
"signon.rememberSignons" = false;
|
"signon.rememberSignons" = false;
|
||||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true; # Needed to allow userChrome.css
|
"toolkit.legacyUserProfileCustomizations.stylesheets" =
|
||||||
|
true; # Needed to allow userChrome.css
|
||||||
};
|
};
|
||||||
userChrome = ''
|
userChrome = ''
|
||||||
@import "firefox-gnome-theme/userChrome.css";
|
@import "firefox-gnome-theme/userChrome.css";
|
||||||
#TabsToolbar {
|
#TabsToolbar {
|
||||||
display: none; !important
|
display: none; !important
|
||||||
}
|
}
|
||||||
#sidebar-header {
|
#sidebar-header {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,176 +1,177 @@
|
||||||
{ pkgs, lib, config, inputs, outputs, ... }:
|
|
||||||
{
|
{
|
||||||
programs.nixvim = {
|
pkgs,
|
||||||
enable = true;
|
lib,
|
||||||
globals.mapleader = " ";
|
config,
|
||||||
extraConfigLua = builtins.readFile ../config-files/nvim/init.lua;
|
inputs,
|
||||||
extraPlugins = with pkgs.vimPlugins; [
|
outputs,
|
||||||
headlines-nvim
|
...
|
||||||
];
|
}: {
|
||||||
|
programs.nixvim = {
|
||||||
clipboard.providers.wl-copy.enable = true;
|
enable = true;
|
||||||
|
globals.mapleader = " ";
|
||||||
|
extraConfigLua = builtins.readFile ../config-files/nvim/init.lua;
|
||||||
|
extraPlugins = with pkgs.vimPlugins; [headlines-nvim];
|
||||||
|
|
||||||
options = {
|
clipboard.providers.wl-copy.enable = true;
|
||||||
number = true; # Show line numbers
|
|
||||||
relativenumber = true; # Show relative line numbers
|
|
||||||
|
|
||||||
shiftwidth = 2; # Tab width should be 2
|
options = {
|
||||||
};
|
number = true; # Show line numbers
|
||||||
|
relativenumber = true; # Show relative line numbers
|
||||||
|
|
||||||
colorschemes.catppuccin.enable = true;
|
shiftwidth = 2; # Tab width should be 2
|
||||||
plugins = {
|
|
||||||
obsidian = {
|
|
||||||
enable = true;
|
|
||||||
dir = "~/Documents/Obsidian Vault/";
|
|
||||||
};
|
|
||||||
lualine.enable = true;
|
|
||||||
lsp-format = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
lsp = {
|
|
||||||
enable = true;
|
|
||||||
servers = {
|
|
||||||
bashls.enable = true;
|
|
||||||
lua-ls.enable = true;
|
|
||||||
nushell.enable = true;
|
|
||||||
clangd.enable = true;
|
|
||||||
svelte.enable = true;
|
|
||||||
tsserver.enable = true;
|
|
||||||
eslint.enable = true;
|
|
||||||
rust-analyzer = {
|
|
||||||
enable = true;
|
|
||||||
installCargo = false;
|
|
||||||
installRustc = false;
|
|
||||||
};
|
|
||||||
nil_ls.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
gitsigns.enable = true;
|
|
||||||
fugitive.enable = true;
|
|
||||||
treesitter = {
|
|
||||||
enable = true;
|
|
||||||
folding = true;
|
|
||||||
indent = true;
|
|
||||||
nixvimInjections = true;
|
|
||||||
};
|
|
||||||
treesitter-refactor = {
|
|
||||||
enable = true;
|
|
||||||
smartRename.enable = true;
|
|
||||||
highlightCurrentScope.enable = true;
|
|
||||||
navigation.enable = true;
|
|
||||||
};
|
|
||||||
cursorline.enable = true;
|
|
||||||
nvim-cmp = {
|
|
||||||
enable = true;
|
|
||||||
autoEnableSources = true;
|
|
||||||
sources = [
|
|
||||||
{name = "nvim_lsp";}
|
|
||||||
{name = "path";}
|
|
||||||
{name = "buffer";}
|
|
||||||
{name = "luasnip";}
|
|
||||||
];
|
|
||||||
|
|
||||||
snippet.expand = "luasnip";
|
|
||||||
|
|
||||||
mapping = {
|
|
||||||
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
|
||||||
"<Tab>" = {
|
|
||||||
action = ''
|
|
||||||
function(fallback)
|
|
||||||
local luasnip = require 'luasnip'
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_next_item()
|
|
||||||
elseif luasnip.expandable() then
|
|
||||||
luasnip.expand()
|
|
||||||
elseif luasnip.expand_or_jumpable() then
|
|
||||||
luasnip.expand_or_jump()
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
modes = [ "i" "s" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
telescope.enable = true;
|
|
||||||
telescope.extensions = {
|
|
||||||
file_browser.enable = true;
|
|
||||||
};
|
|
||||||
which-key.enable = true;
|
|
||||||
cmp-nvim-lsp.enable = true;
|
|
||||||
cmp-nvim-lua.enable = true;
|
|
||||||
noice.enable = true;
|
|
||||||
notify.enable = true;
|
|
||||||
luasnip.enable = true;
|
|
||||||
neo-tree.enable = true;
|
|
||||||
presence-nvim.enable = true;
|
|
||||||
crates-nvim.enable = true;
|
|
||||||
fidget.enable = true;
|
|
||||||
alpha = {
|
|
||||||
enable = true;
|
|
||||||
theme = "startify";
|
|
||||||
};
|
|
||||||
bufferline.enable = true;
|
|
||||||
};
|
|
||||||
keymaps = [
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<leader>ff";
|
|
||||||
options.silent = true;
|
|
||||||
action = "<cmd>Telescope file_browser<CR>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<leader>bb";
|
|
||||||
options.silent = true;
|
|
||||||
action = "<cmd>Telescope buffers<CR>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<leader>Gp";
|
|
||||||
action = "<cmd>Git pull<CR>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<leader>GP";
|
|
||||||
action = "<cmd>Git push<CR>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<leader>Gc";
|
|
||||||
action = "<cmd>Git commit<CR>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<leader>Ga";
|
|
||||||
action = "<cmd>Git add .<CR>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<leader>Gd";
|
|
||||||
action = "<cmd>Git diff<CR>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<leader>nt";
|
|
||||||
action = "<cmd>Neotree toggle left<CR>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<leader>P";
|
|
||||||
action = "\"+p";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = [ "n" "v" ];
|
|
||||||
key = "<leader>y";
|
|
||||||
action = "[[\"+y]]";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = [ "n" ];
|
|
||||||
key = "<leader>Y";
|
|
||||||
action = "[[\"+Y]]";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
colorschemes.catppuccin.enable = true;
|
||||||
|
plugins = {
|
||||||
|
obsidian = {
|
||||||
|
enable = true;
|
||||||
|
dir = "~/Documents/Obsidian Vault/";
|
||||||
|
};
|
||||||
|
indent-blankline.enable = true;
|
||||||
|
lualine.enable = true;
|
||||||
|
lsp-format = {enable = true;};
|
||||||
|
lsp = {
|
||||||
|
enable = true;
|
||||||
|
servers = {
|
||||||
|
bashls.enable = true;
|
||||||
|
lua-ls.enable = true;
|
||||||
|
nushell.enable = true;
|
||||||
|
clangd.enable = true;
|
||||||
|
svelte.enable = true;
|
||||||
|
tsserver.enable = true;
|
||||||
|
eslint.enable = true;
|
||||||
|
rust-analyzer = {
|
||||||
|
enable = true;
|
||||||
|
installCargo = false;
|
||||||
|
installRustc = false;
|
||||||
|
};
|
||||||
|
nil_ls.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
gitsigns.enable = true;
|
||||||
|
fugitive.enable = true;
|
||||||
|
treesitter = {
|
||||||
|
enable = true;
|
||||||
|
folding = true;
|
||||||
|
indent = true;
|
||||||
|
nixvimInjections = true;
|
||||||
|
};
|
||||||
|
treesitter-refactor = {
|
||||||
|
enable = true;
|
||||||
|
smartRename.enable = true;
|
||||||
|
highlightCurrentScope.enable = true;
|
||||||
|
navigation.enable = true;
|
||||||
|
};
|
||||||
|
cursorline.enable = true;
|
||||||
|
nvim-cmp = {
|
||||||
|
enable = true;
|
||||||
|
autoEnableSources = true;
|
||||||
|
sources = [
|
||||||
|
{name = "nvim_lsp";}
|
||||||
|
{name = "path";}
|
||||||
|
{name = "buffer";}
|
||||||
|
{name = "luasnip";}
|
||||||
|
];
|
||||||
|
|
||||||
|
snippet.expand = "luasnip";
|
||||||
|
|
||||||
|
mapping = {
|
||||||
|
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
||||||
|
"<Tab>" = {
|
||||||
|
action = ''
|
||||||
|
function(fallback)
|
||||||
|
local luasnip = require 'luasnip'
|
||||||
|
if cmp.visible() then
|
||||||
|
cmp.select_next_item()
|
||||||
|
elseif luasnip.expandable() then
|
||||||
|
luasnip.expand()
|
||||||
|
elseif luasnip.expand_or_jumpable() then
|
||||||
|
luasnip.expand_or_jump()
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
modes = ["i" "s"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
telescope.enable = true;
|
||||||
|
telescope.extensions = {file_browser.enable = true;};
|
||||||
|
which-key.enable = true;
|
||||||
|
cmp-nvim-lsp.enable = true;
|
||||||
|
cmp-nvim-lua.enable = true;
|
||||||
|
noice.enable = true;
|
||||||
|
notify.enable = true;
|
||||||
|
luasnip.enable = true;
|
||||||
|
neo-tree.enable = true;
|
||||||
|
presence-nvim.enable = true;
|
||||||
|
crates-nvim.enable = true;
|
||||||
|
fidget.enable = true;
|
||||||
|
alpha = {
|
||||||
|
enable = true;
|
||||||
|
theme = "startify";
|
||||||
|
};
|
||||||
|
bufferline.enable = true;
|
||||||
|
};
|
||||||
|
keymaps = [
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>ff";
|
||||||
|
options.silent = true;
|
||||||
|
action = "<cmd>Telescope file_browser<CR>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>bb";
|
||||||
|
options.silent = true;
|
||||||
|
action = "<cmd>Telescope buffers<CR>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>Gp";
|
||||||
|
action = "<cmd>Git pull<CR>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>GP";
|
||||||
|
action = "<cmd>Git push<CR>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>Gc";
|
||||||
|
action = "<cmd>Git commit<CR>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>Ga";
|
||||||
|
action = "<cmd>Git add .<CR>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>Gd";
|
||||||
|
action = "<cmd>Git diff<CR>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>nt";
|
||||||
|
action = "<cmd>Neotree toggle left<CR>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>P";
|
||||||
|
action = ''"+p'';
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = ["n" "v"];
|
||||||
|
key = "<leader>y";
|
||||||
|
action = ''[["+y]]'';
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = ["n"];
|
||||||
|
key = "<leader>Y";
|
||||||
|
action = ''[["+Y]]'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
68
home/modules/shell.nix
Normal file
68
home/modules/shell.nix
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs = {
|
||||||
|
zsh.enable = true;
|
||||||
|
atuin = {
|
||||||
|
enable = true;
|
||||||
|
enableNushellIntegration = true;
|
||||||
|
};
|
||||||
|
eza.enable = true;
|
||||||
|
nushell = {
|
||||||
|
enable = true;
|
||||||
|
shellAliases = {ls = "eza -l --icons --group-directories-first";};
|
||||||
|
extraConfig = "uwufetch --image";
|
||||||
|
configFile = {
|
||||||
|
text = ''
|
||||||
|
$env.config = {
|
||||||
|
show_banner: false
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
carapace.enable = true;
|
||||||
|
carapace.enableNushellIntegration = true;
|
||||||
|
starship = let
|
||||||
|
flavour = "mocha";
|
||||||
|
in {
|
||||||
|
enable = true;
|
||||||
|
enableNushellIntegration = true;
|
||||||
|
enableBashIntegration = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
settings =
|
||||||
|
{
|
||||||
|
# Other config here
|
||||||
|
character = {
|
||||||
|
success_symbol = "[λ::](bold green)";
|
||||||
|
error_symbol = "[λ::](bold red)";
|
||||||
|
};
|
||||||
|
username = {
|
||||||
|
style_user = "bold pink";
|
||||||
|
format = "[$user]($style)";
|
||||||
|
show_always = true;
|
||||||
|
disabled = false;
|
||||||
|
};
|
||||||
|
hostname = {
|
||||||
|
ssh_only = false;
|
||||||
|
format = "[ 🏳️⚧️ ](bold pink)[$hostname](bold flamingo)";
|
||||||
|
disabled = false;
|
||||||
|
};
|
||||||
|
right_format = "$all";
|
||||||
|
format = ''
|
||||||
|
$username$hostname in $directory
|
||||||
|
$character'';
|
||||||
|
palette = "catppuccin_${flavour}";
|
||||||
|
}
|
||||||
|
// builtins.fromTOML (builtins.readFile (pkgs.fetchFromGitHub {
|
||||||
|
owner = "catppuccin";
|
||||||
|
repo = "starship";
|
||||||
|
rev = "5629d2356f62a9f2f8efad3ff37476c19969bd4f"; # Replace with the latest commit hash
|
||||||
|
sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0=";
|
||||||
|
}
|
||||||
|
+ /palettes/${flavour}.toml));
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,7 +1,11 @@
|
||||||
{ inputs, lib, config, pkgs, ...}:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
age.identityPaths = [ "${config.home.homeDirectory}/.ssh/agenix" ]; # Use this key to decrypt
|
inputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
age.identityPaths = ["${config.home.homeDirectory}/.ssh/agenix"]; # Use this key to decrypt
|
||||||
home.packages = [
|
home.packages = [
|
||||||
inputs.agenix.packages.x86_64-linux.default # Install CLI tool to encrypt
|
inputs.agenix.packages.x86_64-linux.default # Install CLI tool to encrypt
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
let
|
let
|
||||||
xqtc = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFecbWOhXR4z1wrrI5onn4SFGtu/lfsOblreuRWcbLug";
|
xqtc = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFecbWOhXR4z1wrrI5onn4SFGtu/lfsOblreuRWcbLug";
|
||||||
in
|
in {
|
||||||
{
|
"xqtc_id_ed25519.age".publicKeys = [xqtc];
|
||||||
"xqtc_id_ed25519.age".publicKeys = [ xqtc ];
|
"xqtc_id_ed25519_pub.age".publicKeys = [xqtc];
|
||||||
"xqtc_id_ed25519_pub.age".publicKeys = [ xqtc ];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
{config, lib, pkgs, ...}:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
services.clamav = {
|
services.clamav = {
|
||||||
updater.enable = true;
|
updater.enable = true;
|
||||||
updater.settings = {
|
updater.settings = {LogVerbose = true;};
|
||||||
LogVerbose = true;
|
|
||||||
};
|
|
||||||
updater.interval = "hourly";
|
updater.interval = "hourly";
|
||||||
daemon.enable = true;
|
daemon.enable = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -15,19 +15,22 @@
|
||||||
⠀⠀⠀⠀⠀⠀⠈⠛⠿⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⠿⠋⠁⠀⠀⠀⠀⠀⠀
|
⠀⠀⠀⠀⠀⠀⠈⠛⠿⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⠿⠋⠁⠀⠀⠀⠀⠀⠀
|
||||||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠛⠛⠛⠛⠛⠛⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠛⠛⠛⠛⠛⠛⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
*/
|
*/
|
||||||
|
|
||||||
{ config, inputs, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ # Include the results of the hardware scan.
|
inputs,
|
||||||
./hardware-configuration.nix
|
lib,
|
||||||
../../common
|
pkgs,
|
||||||
#../antivirus.nix
|
...
|
||||||
../../modules/home-manager.nix
|
}: {
|
||||||
../gc.nix
|
imports = [
|
||||||
];
|
# Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../common
|
||||||
|
#../antivirus.nix
|
||||||
|
../../modules/home-manager.nix
|
||||||
|
../gc.nix
|
||||||
|
];
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
hardware.opengl = {
|
hardware.opengl = {
|
||||||
|
@ -58,7 +61,8 @@
|
||||||
networking.hostName = "asmodeus"; # Define your hostname.
|
networking.hostName = "asmodeus"; # Define your hostname.
|
||||||
# Pick only one of the below networking options.
|
# Pick only one of the below networking options.
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
networking.networkmanager.enable =
|
||||||
|
true; # Easiest to use and most distros use this by default.
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "Europe/Berlin";
|
time.timeZone = "Europe/Berlin";
|
||||||
|
@ -83,7 +87,7 @@
|
||||||
services.xserver.displayManager.defaultSession = "plasmawayland";
|
services.xserver.displayManager.defaultSession = "plasmawayland";
|
||||||
services.xserver.videoDrivers = ["nvidia"];
|
services.xserver.videoDrivers = ["nvidia"];
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
virtualisation.docker.enable = true;
|
||||||
|
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
services.xserver.xkb.layout = "us";
|
services.xserver.xkb.layout = "us";
|
||||||
|
@ -113,11 +117,8 @@
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
users.users.xqtc = {
|
users.users.xqtc = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" "sudo" "docker" ]; # Enable ‘sudo’ for the user.
|
extraGroups = ["wheel" "sudo" "docker"]; # Enable ‘sudo’ for the user.
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [wezterm nushell];
|
||||||
wezterm
|
|
||||||
nushell
|
|
||||||
];
|
|
||||||
shell = pkgs.nushell;
|
shell = pkgs.nushell;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -127,25 +128,24 @@
|
||||||
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||||
wget
|
wget
|
||||||
#git
|
#git
|
||||||
|
|
||||||
firefox
|
firefox
|
||||||
|
|
||||||
neovim
|
neovim
|
||||||
|
|
||||||
gcc13
|
gcc13
|
||||||
|
|
||||||
cargo
|
cargo
|
||||||
rustc
|
rustc
|
||||||
|
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
xclip
|
xclip
|
||||||
|
|
||||||
jellyfin
|
jellyfin
|
||||||
jellyfin-web
|
jellyfin-web
|
||||||
jellyfin-ffmpeg
|
jellyfin-ffmpeg
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
#programs.nix-ld.enable = true;
|
#programs.nix-ld.enable = true;
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
@ -160,7 +160,7 @@
|
||||||
|
|
||||||
services.jellyfin.enable = true;
|
services.jellyfin.enable = true;
|
||||||
services.jellyfin.user = "xqtc";
|
services.jellyfin.user = "xqtc";
|
||||||
|
|
||||||
#services.calibre-web = {
|
#services.calibre-web = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
# user = "xqtc";
|
# user = "xqtc";
|
||||||
|
@ -177,12 +177,12 @@
|
||||||
#};
|
#};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
syncthing = {
|
syncthing = {
|
||||||
enable = true;
|
enable = true;
|
||||||
user = "xqtc";
|
user = "xqtc";
|
||||||
dataDir = "/home/xqtc/Documents"; # Default folder for new synced folders
|
dataDir = "/home/xqtc/Documents"; # Default folder for new synced folders
|
||||||
configDir = "/home/xqtc/Documents/.config/syncthing"; # Folder for Syncthing's settings and keys
|
configDir = "/home/xqtc/Documents/.config/syncthing"; # Folder for Syncthing's settings and keys
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
# Enable the OpenSSH daemon.
|
# Enable the OpenSSH daemon.
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
@ -203,7 +203,7 @@
|
||||||
|
|
||||||
services.tailscale.enable = true;
|
services.tailscale.enable = true;
|
||||||
# Open ports in the firewall.
|
# Open ports in the firewall.
|
||||||
networking.firewall.allowedTCPPorts = [ 2234 8096 8080 8082 ];
|
networking.firewall.allowedTCPPorts = [2234 8096 8080 8082];
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
# Or disable the firewall altogether.
|
# Or disable the firewall altogether.
|
||||||
# networking.firewall.enable = false;
|
# networking.firewall.enable = false;
|
||||||
|
@ -230,8 +230,6 @@
|
||||||
#
|
#
|
||||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
||||||
system.stateVersion = "23.11"; # Did you read the comment?
|
system.stateVersion = "23.11"; # Did you read the comment?
|
||||||
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
|
|
||||||
|
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,37 +1,39 @@
|
||||||
# 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")];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" "sr_mod" ];
|
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" "sr_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/5e34fc38-c199-4b85-b756-1c65ed7471fc";
|
device = "/dev/disk/by-uuid/5e34fc38-c199-4b85-b756-1c65ed7471fc";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/C3D3-9E29";
|
device = "/dev/disk/by-uuid/C3D3-9E29";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/mnt/HDD1" =
|
fileSystems."/mnt/HDD1" = {
|
||||||
{ device = "/dev/disk/by-uuid/bc68de4c-ad5c-4016-ac11-65de448949fe";
|
device = "/dev/disk/by-uuid/bc68de4c-ad5c-4016-ac11-65de448949fe";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
fileSystems."/mnt/HDD2" =
|
fileSystems."/mnt/HDD2" = {
|
||||||
{ device = "/dev/disk/by-uuid/c37bc41d-8d92-4b7e-ac45-3420804d086c";
|
device = "/dev/disk/by-uuid/c37bc41d-8d92-4b7e-ac45-3420804d086c";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
swapDevices = [ ];
|
swapDevices = [];
|
||||||
|
|
||||||
# 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
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
@ -42,5 +44,6 @@
|
||||||
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.amd.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ config, ... }:
|
{config, ...}: {
|
||||||
{
|
|
||||||
nix.gc = {
|
nix.gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
dates = "daily";
|
dates = "daily";
|
||||||
|
|
|
@ -13,15 +13,17 @@
|
||||||
⠀⠀⠀⠀⠀⠀⠈⠛⠿⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⠿⠋⠁⠀⠀⠀⠀⠀⠀
|
⠀⠀⠀⠀⠀⠀⠈⠛⠿⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⠿⠋⠁⠀⠀⠀⠀⠀⠀
|
||||||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠛⠛⠛⠛⠛⠛⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠛⠛⠛⠛⠛⠛⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
*/
|
*/
|
||||||
|
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ # Include the results of the hardware scan.
|
lib,
|
||||||
./hardware-configuration.nix
|
pkgs,
|
||||||
];
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
# Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
security.pam.services.swaylock = {};
|
security.pam.services.swaylock = {};
|
||||||
|
@ -48,11 +50,7 @@
|
||||||
hardware.bluetooth = {
|
hardware.bluetooth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
powerOnBoot = true;
|
powerOnBoot = true;
|
||||||
settings = {
|
settings = {General = {Enable = "Source,Sink,Media,Socket";};};
|
||||||
General = {
|
|
||||||
Enable = "Source,Sink,Media,Socket";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
|
@ -64,7 +62,8 @@
|
||||||
networking.hostName = "lambda"; # Define your hostname.
|
networking.hostName = "lambda"; # Define your hostname.
|
||||||
# Pick only one of the below networking options.
|
# Pick only one of the below networking options.
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
networking.networkmanager.enable =
|
||||||
|
true; # Easiest to use and most distros use this by default.
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "Europe/Berlin";
|
time.timeZone = "Europe/Berlin";
|
||||||
|
@ -88,7 +87,7 @@
|
||||||
#services.xserver.desktopManager.gnome.enable = true;
|
#services.xserver.desktopManager.gnome.enable = true;
|
||||||
#services.xserver.displayManager.defaultSession = "plasmawayland";
|
#services.xserver.displayManager.defaultSession = "plasmawayland";
|
||||||
#services.xserver.videoDrivers = ["nvidia"];
|
#services.xserver.videoDrivers = ["nvidia"];
|
||||||
|
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
|
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
|
@ -111,32 +110,29 @@
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
users.users.xqtc = {
|
users.users.xqtc = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
extraGroups = ["wheel"]; # Enable ‘sudo’ for the user.
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [wezterm nushell];
|
||||||
wezterm
|
|
||||||
nushell
|
|
||||||
];
|
|
||||||
shell = pkgs.nushell;
|
shell = pkgs.nushell;
|
||||||
};
|
};
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||||
wget
|
wget
|
||||||
#git
|
#git
|
||||||
firefox
|
firefox
|
||||||
neovim
|
neovim
|
||||||
gcc13
|
gcc13
|
||||||
cargo
|
cargo
|
||||||
cargo-generate
|
cargo-generate
|
||||||
sway
|
sway
|
||||||
swaylock
|
swaylock
|
||||||
swaylock-effects
|
swaylock-effects
|
||||||
tofi
|
tofi
|
||||||
waybar
|
waybar
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
wdisplays
|
wdisplays
|
||||||
];
|
];
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
@ -146,7 +142,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
enableSSHSupport = true;
|
enableSSHSupport = true;
|
||||||
};
|
};
|
||||||
services.udev.packages = [ pkgs.yubikey-personalization ];
|
services.udev.packages = [pkgs.yubikey-personalization];
|
||||||
services.pcscd.enable = true;
|
services.pcscd.enable = true;
|
||||||
|
|
||||||
# List services that you want to enable:
|
# List services that you want to enable:
|
||||||
|
@ -169,7 +165,7 @@
|
||||||
services.tailscale.enable = true;
|
services.tailscale.enable = true;
|
||||||
|
|
||||||
# Open ports in the firewall.
|
# Open ports in the firewall.
|
||||||
networking.firewall.allowedTCPPorts = [ 8080 5173 ];
|
networking.firewall.allowedTCPPorts = [8080 5173];
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
# Or disable the firewall altogether.
|
# Or disable the firewall altogether.
|
||||||
# networking.firewall.enable = false;
|
# networking.firewall.enable = false;
|
||||||
|
@ -196,8 +192,6 @@
|
||||||
#
|
#
|
||||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
||||||
system.stateVersion = "23.11"; # Did you read the comment?
|
system.stateVersion = "23.11"; # Did you read the comment?
|
||||||
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
|
|
||||||
|
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,31 +1,31 @@
|
||||||
# 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")];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ ];
|
boot.kernelModules = [];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/0b6d9cc6-88a7-45b4-b79e-81496f480e7c";
|
device = "/dev/disk/by-uuid/0b6d9cc6-88a7-45b4-b79e-81496f480e7c";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/6F98-B5D8";
|
device = "/dev/disk/by-uuid/6F98-B5D8";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [{device = "/dev/disk/by-uuid/6cf4542a-9611-4a15-83df-12e3ec91b673";}];
|
||||||
[ { device = "/dev/disk/by-uuid/6cf4542a-9611-4a15-83df-12e3ec91b673"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
# 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
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
@ -35,5 +35,6 @@
|
||||||
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,20 @@
|
||||||
{ config, lib, inputs, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ # Include the results of the hardware scan.
|
lib,
|
||||||
./hardware-configuration.nix
|
inputs,
|
||||||
../../common
|
pkgs,
|
||||||
#../antivirus.nix
|
...
|
||||||
../../modules/home-manager.nix
|
}: {
|
||||||
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t480
|
imports = [
|
||||||
../gc.nix
|
# Include the results of the hardware scan.
|
||||||
];
|
./hardware-configuration.nix
|
||||||
|
../../common
|
||||||
|
#../antivirus.nix
|
||||||
|
../../modules/home-manager.nix
|
||||||
|
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t480
|
||||||
|
../gc.nix
|
||||||
|
];
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
security.pam.services.swaylock = {};
|
security.pam.services.swaylock = {};
|
||||||
|
@ -24,11 +28,7 @@
|
||||||
hardware.bluetooth = {
|
hardware.bluetooth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
powerOnBoot = true;
|
powerOnBoot = true;
|
||||||
settings = {
|
settings = {General = {Enable = "Source,Sink,Media,Socket";};};
|
||||||
General = {
|
|
||||||
Enable = "Source,Sink,Media,Socket";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
|
@ -56,7 +56,8 @@
|
||||||
networking.hostName = "lilith"; # Define your hostname.
|
networking.hostName = "lilith"; # Define your hostname.
|
||||||
# Pick only one of the below networking options.
|
# Pick only one of the below networking options.
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
networking.networkmanager.enable =
|
||||||
|
true; # Easiest to use and most distros use this by default.
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "Europe/Berlin";
|
time.timeZone = "Europe/Berlin";
|
||||||
|
@ -80,7 +81,7 @@
|
||||||
#services.xserver.desktopManager.gnome.enable = true;
|
#services.xserver.desktopManager.gnome.enable = true;
|
||||||
#services.xserver.displayManager.defaultSession = "plasmawayland";
|
#services.xserver.displayManager.defaultSession = "plasmawayland";
|
||||||
#services.xserver.videoDrivers = ["nvidia"];
|
#services.xserver.videoDrivers = ["nvidia"];
|
||||||
|
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
|
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
|
@ -123,37 +124,34 @@
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
users.users.xqtc = {
|
users.users.xqtc = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" "libvirtd" ]; # Enable ‘sudo’ for the user.
|
extraGroups = ["wheel" "libvirtd"]; # Enable ‘sudo’ for the user.
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [nushell clamtk];
|
||||||
nushell
|
|
||||||
clamtk
|
|
||||||
];
|
|
||||||
shell = pkgs.nushell;
|
shell = pkgs.nushell;
|
||||||
};
|
};
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||||
wget
|
wget
|
||||||
#git
|
#git
|
||||||
neovim
|
neovim
|
||||||
gcc13
|
gcc13
|
||||||
cargo
|
cargo
|
||||||
cargo-generate
|
cargo-generate
|
||||||
sway
|
sway
|
||||||
gnome3.adwaita-icon-theme
|
gnome3.adwaita-icon-theme
|
||||||
glib
|
glib
|
||||||
#swaylock
|
#swaylock
|
||||||
swaylock-effects
|
swaylock-effects
|
||||||
tofi
|
tofi
|
||||||
waybar
|
waybar
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
wdisplays
|
wdisplays
|
||||||
#qemu_full
|
#qemu_full
|
||||||
gnomeExtensions.blur-my-shell
|
gnomeExtensions.blur-my-shell
|
||||||
surrealdb
|
surrealdb
|
||||||
zathura
|
zathura
|
||||||
];
|
];
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
@ -163,7 +161,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
enableSSHSupport = true;
|
enableSSHSupport = true;
|
||||||
};
|
};
|
||||||
services.udev.packages = [ pkgs.yubikey-personalization ];
|
services.udev.packages = [pkgs.yubikey-personalization];
|
||||||
services.pcscd.enable = true;
|
services.pcscd.enable = true;
|
||||||
|
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
|
@ -190,20 +188,19 @@
|
||||||
#];
|
#];
|
||||||
services.resolved = {
|
services.resolved = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# #dnssec = "true";
|
# #dnssec = "true";
|
||||||
# domains = [ "~." ];
|
# domains = [ "~." ];
|
||||||
# fallbackDns = ["1.1.1.1#one.one.one.one"];
|
# fallbackDns = ["1.1.1.1#one.one.one.one"];
|
||||||
# #extraConfig = ''
|
# #extraConfig = ''
|
||||||
# # MulticastDNS=yes
|
# # MulticastDNS=yes
|
||||||
# #'';
|
# #'';
|
||||||
};
|
};
|
||||||
#networking.wireguard.enable = true;
|
#networking.wireguard.enable = true;
|
||||||
|
|
||||||
|
|
||||||
services.tailscale.enable = true;
|
services.tailscale.enable = true;
|
||||||
|
|
||||||
# Open ports in the firewall.
|
# Open ports in the firewall.
|
||||||
networking.firewall.allowedTCPPorts = [ 22 2234 8080 5173 ];
|
networking.firewall.allowedTCPPorts = [22 2234 8080 5173];
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
# Or disable the firewall altogether.
|
# Or disable the firewall altogether.
|
||||||
# networking.firewall.enable = false;
|
# networking.firewall.enable = false;
|
||||||
|
@ -230,8 +227,6 @@
|
||||||
#
|
#
|
||||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
||||||
system.stateVersion = "23.11"; # Did you read the comment?
|
system.stateVersion = "23.11"; # Did you read the comment?
|
||||||
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
|
|
||||||
|
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,29 +1,31 @@
|
||||||
# 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")];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usb_storage" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
boot.initrd.kernelModules = ["dm-snapshot"];
|
||||||
boot.kernelModules = [ ];
|
boot.kernelModules = [];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/a73b1d2a-cdeb-40e7-9200-b6243aad03e0";
|
device = "/dev/disk/by-uuid/a73b1d2a-cdeb-40e7-9200-b6243aad03e0";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/AA05-0A9A";
|
device = "/dev/disk/by-uuid/AA05-0A9A";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [];
|
||||||
|
|
||||||
# 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
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
@ -35,5 +37,6 @@
|
||||||
# networking.interfaces.wwp0s20f0u6.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wwp0s20f0u6.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,20 @@
|
||||||
{ config, inputs, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ # Include the results of the hardware scan.
|
inputs,
|
||||||
./hardware-configuration.nix
|
lib,
|
||||||
../../modules/home-manager.nix
|
pkgs,
|
||||||
../../common
|
...
|
||||||
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
}: {
|
||||||
../gc.nix
|
imports = [
|
||||||
];
|
# Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../modules/home-manager.nix
|
||||||
|
../../common
|
||||||
|
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
||||||
|
../gc.nix
|
||||||
|
];
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
@ -20,7 +24,8 @@
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
#networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
#networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
||||||
nixpkgs.config.packageOverrides = pkgs: {
|
nixpkgs.config.packageOverrides = pkgs: {
|
||||||
intel-vaapi-driver = pkgs.intel-vaapi-driver.override { enableHybridCodec = true; };
|
intel-vaapi-driver =
|
||||||
|
pkgs.intel-vaapi-driver.override {enableHybridCodec = true;};
|
||||||
};
|
};
|
||||||
hardware.opengl = {
|
hardware.opengl = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -31,7 +36,9 @@
|
||||||
libvdpau-va-gl
|
libvdpau-va-gl
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
environment.sessionVariables = { LIBVA_DRIVER_NAME = "iHD"; }; # Force intel-media-driver
|
environment.sessionVariables = {
|
||||||
|
LIBVA_DRIVER_NAME = "iHD";
|
||||||
|
}; # Force intel-media-driver
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "Europe/Berlin";
|
time.timeZone = "Europe/Berlin";
|
||||||
|
@ -51,9 +58,6 @@
|
||||||
# Enable the X11 windowing system.
|
# Enable the X11 windowing system.
|
||||||
#services.xserver.enable = true;
|
#services.xserver.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
services.xserver.xkb.layout = "us";
|
services.xserver.xkb.layout = "us";
|
||||||
# services.xserver.xkb.options = "eurosign:e,caps:escape";
|
# services.xserver.xkb.options = "eurosign:e,caps:escape";
|
||||||
|
@ -71,10 +75,8 @@
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
users.users.xqtc = {
|
users.users.xqtc = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
extraGroups = ["wheel"]; # Enable ‘sudo’ for the user.
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [tree];
|
||||||
tree
|
|
||||||
];
|
|
||||||
shell = pkgs.nushell;
|
shell = pkgs.nushell;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -96,7 +98,7 @@
|
||||||
|
|
||||||
networking.resolvconf.enable = false;
|
networking.resolvconf.enable = false;
|
||||||
services.resolved.enable = true;
|
services.resolved.enable = true;
|
||||||
|
|
||||||
services.transmission = {
|
services.transmission = {
|
||||||
enable = true;
|
enable = true;
|
||||||
user = "xqtc";
|
user = "xqtc";
|
||||||
|
@ -108,9 +110,8 @@
|
||||||
rpc-bind-address = "0.0.0.0";
|
rpc-bind-address = "0.0.0.0";
|
||||||
rpc-whitelist-enabled = "false";
|
rpc-whitelist-enabled = "false";
|
||||||
rpc-authentication-required = "true";
|
rpc-authentication-required = "true";
|
||||||
rpc-username = "xqtc";
|
rpc-username = "xqtc";
|
||||||
rpc-password = "Klavier2016";
|
rpc-password = "Klavier2016";
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -149,7 +150,7 @@
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
|
||||||
# Open ports in the firewall.
|
# Open ports in the firewall.
|
||||||
networking.firewall.allowedTCPPorts = [ 22 8096 9091 5001 ];
|
networking.firewall.allowedTCPPorts = [22 8096 9091 5001];
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
# Or disable the firewall altogether.
|
# Or disable the firewall altogether.
|
||||||
# networking.firewall.enable = false;
|
# networking.firewall.enable = false;
|
||||||
|
@ -176,6 +177,4 @@
|
||||||
#
|
#
|
||||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
||||||
system.stateVersion = "23.11"; # Did you read the comment?
|
system.stateVersion = "23.11"; # Did you read the comment?
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,29 +1,40 @@
|
||||||
# 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")];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "firewire_ohci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" ];
|
boot.initrd.availableKernelModules = [
|
||||||
boot.initrd.kernelModules = [ ];
|
"xhci_pci"
|
||||||
boot.kernelModules = [ "kvm-intel" "wl" ];
|
"ehci_pci"
|
||||||
boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ];
|
"ahci"
|
||||||
|
"firewire_ohci"
|
||||||
|
"usbhid"
|
||||||
|
"usb_storage"
|
||||||
|
"sd_mod"
|
||||||
|
"sdhci_pci"
|
||||||
|
];
|
||||||
|
boot.initrd.kernelModules = [];
|
||||||
|
boot.kernelModules = ["kvm-intel" "wl"];
|
||||||
|
boot.extraModulePackages = [config.boot.kernelPackages.broadcom_sta];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/7317806c-aa54-460c-b094-18104496d245";
|
device = "/dev/disk/by-uuid/7317806c-aa54-460c-b094-18104496d245";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/0AE9-6A7E";
|
device = "/dev/disk/by-uuid/0AE9-6A7E";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [];
|
||||||
|
|
||||||
# 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
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
@ -33,5 +44,6 @@
|
||||||
# networking.interfaces.enp1s0f0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.enp1s0f0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,20 @@
|
||||||
{lib, inputs, ...}: {
|
{
|
||||||
imports = [ inputs.home-manager.nixosModules.home-manager ];
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [inputs.home-manager.nixosModules.home-manager];
|
||||||
config = {
|
config = {
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
|
|
||||||
home-manager.extraSpecialArgs = {inherit inputs;};
|
home-manager.extraSpecialArgs = {inherit inputs;};
|
||||||
home-manager.users.xqtc = {...}: {imports = [
|
home-manager.users.xqtc = {...}: {
|
||||||
../home
|
imports = [
|
||||||
inputs.nixvim.homeManagerModules.nixvim
|
../home
|
||||||
#inputs.agenix.homeManagerModules.default
|
inputs.nixvim.homeManagerModules.nixvim
|
||||||
]; };
|
#inputs.agenix.homeManagerModules.default
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,19 @@
|
||||||
self: super: {
|
self: super: {
|
||||||
util = rec {
|
util = rec {
|
||||||
dirEntries = path: builtins.attrNames (builtins.readDir path);
|
dirEntries = path: builtins.attrNames (builtins.readDir path);
|
||||||
mapHosts = f: builtins.map f (dirEntries ../hosts);
|
mapHosts = f: builtins.map f (dirEntries ../hosts);
|
||||||
mapHostAttrs = key_f: val_f: builtins.listToAttrs (mapHosts (host: {name = key_f host; value = val_f host;}));
|
mapHostAttrs = key_f: val_f:
|
||||||
mapObjKeys = obj: f: builtins.map f (builtins.attrNames obj);
|
builtins.listToAttrs (mapHosts (host: {
|
||||||
mapKeys = obj: f: builtins.map f obj;
|
name = key_f host;
|
||||||
nixFilesIn = path: builtins.map
|
value = val_f host;
|
||||||
(e: import (path + /${e}))
|
}));
|
||||||
(builtins.filter (x: (builtins.match ".*\\.nix$" x) != null) (dirEntries path));
|
mapObjKeys = obj: f: builtins.map f (builtins.attrNames obj);
|
||||||
without = exclusions: list: builtins.filter (x: !builtins.elem x exclusions) list;
|
mapKeys = obj: f: builtins.map f obj;
|
||||||
};
|
nixFilesIn = path:
|
||||||
|
builtins.map (e: import (path + /${e}))
|
||||||
|
(builtins.filter (x: (builtins.match ".*\\.nix$" x) != null)
|
||||||
|
(dirEntries path));
|
||||||
|
without = exclusions: list:
|
||||||
|
builtins.filter (x: !builtins.elem x exclusions) list;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue