Initial commit of NixOS config
This commit is contained in:
41
autostart.nix
Normal file
41
autostart.nix
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
systemd.user.services.set-wallpaper = {
|
||||||
|
enable = true;
|
||||||
|
description = "Set KDE Plasma wallpaper";
|
||||||
|
#after = [ "plasma-desktop.service" ];
|
||||||
|
serviceConfig.ExecStart = [ "/run/current-system/sw/bin/plasma-apply-wallpaperimage /etc/nixos/other/wallpaper.png" ];
|
||||||
|
wantedBy = [ "graphical-session.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = "5s";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.user.services.autostart-yakuake = {
|
||||||
|
enable = false;
|
||||||
|
description = "Automatically start Yakuake";
|
||||||
|
#after = [ "plasma-desktop.service" ];
|
||||||
|
serviceConfig.ExecStart = [ "${pkgs.kdePackages.yakuake}/bin/yakuake" ];
|
||||||
|
wantedBy = [ "default.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = "5s";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.user.services.autostart-trayscale = {
|
||||||
|
enable = true;
|
||||||
|
description = "Automatically start Trayscale";
|
||||||
|
#after = [ "plasma-desktop.service" ];
|
||||||
|
serviceConfig.ExecStart = [ "${pkgs.trayscale}/bin/trayscale --hide-window" ];
|
||||||
|
wantedBy = [ "default.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = "5s";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
225
configuration.nix
Normal file
225
configuration.nix
Normal file
@ -0,0 +1,225 @@
|
|||||||
|
# Edit this configuration file to define what should be installed on
|
||||||
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
|
#Access Internet using:
|
||||||
|
#nmcli device wifi list
|
||||||
|
#nmcli device wifi connect <ssid> password <password>
|
||||||
|
# or if no password (open wifi)
|
||||||
|
#nmcli device wifi connect <ssid>
|
||||||
|
|
||||||
|
#Nix flake file limit: ulimit -n 500000
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
#Assign Swap to the PC
|
||||||
|
#swapDevices = [{
|
||||||
|
# device = "/swapfile";
|
||||||
|
# size = 16 * 1024; # 16GB
|
||||||
|
#}];
|
||||||
|
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
./hardware-configuration.nix
|
||||||
|
#Moved to flake.nix
|
||||||
|
#./packages.nix
|
||||||
|
#./firefox.nix
|
||||||
|
#./zsh.nix
|
||||||
|
#./lockscreen.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader = {
|
||||||
|
systemd-boot.enable = false;
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
#boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
||||||
|
grub = {
|
||||||
|
enable = true;
|
||||||
|
device = "/dev/sdb"; #Needs to be changed when using a new computer! (Make grub partition - look below!)
|
||||||
|
#devices = [ "nodev" ];
|
||||||
|
efiSupport = true;
|
||||||
|
useOSProber = true;
|
||||||
|
};
|
||||||
|
grub2-theme = {
|
||||||
|
enable = true;
|
||||||
|
theme = "whitesur";
|
||||||
|
footer = true;
|
||||||
|
};
|
||||||
|
timeout = 10;
|
||||||
|
};
|
||||||
|
|
||||||
|
#Ensure there is a grub_bios partition: (gparted)
|
||||||
|
#Create a new parititon. File System: Unformatted - Size: ~5 Mib
|
||||||
|
#Apply
|
||||||
|
#Manage flags -> Add bios_grub
|
||||||
|
|
||||||
|
networking.hostName = "nixos";
|
||||||
|
# Define your hostname.
|
||||||
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
|
||||||
|
# Configure network proxy if necessary
|
||||||
|
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||||
|
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||||
|
|
||||||
|
# Enable networking
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "de_DE.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "de_DE.UTF-8";
|
||||||
|
LC_MEASUREMENT = "de_DE.UTF-8";
|
||||||
|
LC_MONETARY = "de_DE.UTF-8";
|
||||||
|
LC_NAME = "de_DE.UTF-8";
|
||||||
|
LC_NUMERIC = "de_DE.UTF-8";
|
||||||
|
LC_PAPER = "de_DE.UTF-8";
|
||||||
|
LC_TELEPHONE = "de_DE.UTF-8";
|
||||||
|
LC_TIME = "de_DE.UTF-8";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable the X11 windowing system.
|
||||||
|
# You can disable this if you're only using the Wayland session.
|
||||||
|
services.xserver.enable = true;
|
||||||
|
|
||||||
|
# Enable the KDE Plasma Desktop Environment.
|
||||||
|
services.displayManager.sddm.enable = true;
|
||||||
|
services.desktopManager.plasma6 = {
|
||||||
|
enable = true;
|
||||||
|
#Wallpaper options isnt available anymore in Plasma6
|
||||||
|
#wallpaper = {
|
||||||
|
# mode = "scale";
|
||||||
|
# image = "/etc/nixos/other/wallpaper.png";
|
||||||
|
#};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.ollama = {
|
||||||
|
enable = true;
|
||||||
|
# Optional: load models on startup
|
||||||
|
#loadModels = [ ... ];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.locate = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.plocate;
|
||||||
|
#To get rid of warning
|
||||||
|
#Depircated:
|
||||||
|
#localuser = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
services.xserver.xkb = {
|
||||||
|
layout = "de";
|
||||||
|
variant = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.tailscale.enable = true;
|
||||||
|
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
font-awesome
|
||||||
|
#TODO reconfigure nerd fonts!!!
|
||||||
|
#nerd-fonts
|
||||||
|
meslo-lgs-nf
|
||||||
|
];
|
||||||
|
|
||||||
|
# Configure console keymap
|
||||||
|
console.keyMap = "de";
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
services.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
# If you want to use JACK applications, uncomment this
|
||||||
|
#jack.enable = true;
|
||||||
|
|
||||||
|
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||||
|
# no need to redefine it in your config for now)
|
||||||
|
#media-session.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
|
# services.xserver.libinput.enable = true;
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
users.users.cookiez = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Cookiez";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
|
packages = with pkgs; [
|
||||||
|
#User Packages Here
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
#So no user in the group Wheel has to input the password in order to use sudo
|
||||||
|
security.sudo.wheelNeedsPassword = false;
|
||||||
|
|
||||||
|
#theme-reminder uses a definitive /home/cookiez path!!!
|
||||||
|
system.activationScripts.script.text = ''
|
||||||
|
source /etc/nixos/other/colors.sh
|
||||||
|
source /etc/nixos/other/pfp.sh
|
||||||
|
|
||||||
|
source /etc/nixos/other/theme-reminder.sh
|
||||||
|
|
||||||
|
echo -e "Use: $YELLOW'home-manager switch'$NOCOLOR or $DARKGRAY'home-upd'$NOCOLOR (if available) to update your home manager!"
|
||||||
|
'';
|
||||||
|
|
||||||
|
|
||||||
|
# #Install firefox.
|
||||||
|
#programs.firefox.enable = true;
|
||||||
|
#Enabled in a separate firefox.nix
|
||||||
|
|
||||||
|
#Allow Nix Commands
|
||||||
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
|
||||||
|
#To allow the Flake to build all packages (Too many open files error)
|
||||||
|
#systemd.services.nix-deamon.serviceConfig.LimitNOFILE = 100000;
|
||||||
|
|
||||||
|
# Allow unfree packages
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
programs.steam.enable = true;
|
||||||
|
|
||||||
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
# started in user sessions.
|
||||||
|
# programs.mtr.enable = true;
|
||||||
|
# programs.gnupg.agent = {
|
||||||
|
# enable = true;
|
||||||
|
# enableSSHSupport = true;
|
||||||
|
# };
|
||||||
|
|
||||||
|
# List services that you want to enable:
|
||||||
|
|
||||||
|
# Enable the OpenSSH daemon.
|
||||||
|
services.openssh.enable = true;
|
||||||
|
|
||||||
|
environment.variables = {
|
||||||
|
EDITOR = "micro";
|
||||||
|
# XKB_DEFAULT_LAYOUT = "de";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Open ports in the firewall.
|
||||||
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
|
# Or disable the firewall altogether.
|
||||||
|
# networking.firewall.enable = false;
|
||||||
|
|
||||||
|
# This value determines the NixOS release from which the default
|
||||||
|
# settings for stateful data, like file locations and database versions
|
||||||
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
# this value at the release version of the first install of this system.
|
||||||
|
# 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 = "25.05"; # Did you read the comment?
|
||||||
|
}
|
||||||
100
firefox.nix
Normal file
100
firefox.nix
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
lock-false = {
|
||||||
|
Value = false;
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
lock-true = {
|
||||||
|
Value = true;
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
programs = {
|
||||||
|
firefox = {
|
||||||
|
enable = true;
|
||||||
|
languagePacks = [ "de" "en-US" ];
|
||||||
|
|
||||||
|
/* ---- POLICIES ---- */
|
||||||
|
# Check about:policies#documentation for options.
|
||||||
|
policies = {
|
||||||
|
PasswordManagerEnabled = false;
|
||||||
|
DisableTelemetry = true;
|
||||||
|
DisableFirefoxStudies = true;
|
||||||
|
EnableTrackingProtection = {
|
||||||
|
Value= true;
|
||||||
|
Locked = true;
|
||||||
|
Cryptomining = true;
|
||||||
|
Fingerprinting = true;
|
||||||
|
};
|
||||||
|
DisablePocket = true;
|
||||||
|
#DisableFirefoxAccounts = true;
|
||||||
|
#DisableAccounts = true;
|
||||||
|
#DisableFirefoxScreenshots = true;
|
||||||
|
OverrideFirstRunPage = "";
|
||||||
|
OverridePostUpdatePage = "";
|
||||||
|
DontCheckDefaultBrowser = true;
|
||||||
|
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
||||||
|
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
||||||
|
SearchBar = "unified"; # alternative: "separate"
|
||||||
|
|
||||||
|
/* ---- EXTENSIONS ---- */
|
||||||
|
# Check about:support for extension/add-on ID strings.
|
||||||
|
# Valid strings for installation_mode are "allowed", "blocked",
|
||||||
|
# "force_installed" and "normal_installed".
|
||||||
|
|
||||||
|
# How to: https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265
|
||||||
|
ExtensionSettings =
|
||||||
|
with builtins;
|
||||||
|
let
|
||||||
|
extension = shortId: uuid: {
|
||||||
|
name = uuid;
|
||||||
|
value = {
|
||||||
|
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
|
||||||
|
installation_mode = "normal_installed";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
listToAttrs [
|
||||||
|
(extension "ublock-origin" "uBlock0@raymondhill.net")
|
||||||
|
(extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
|
||||||
|
#(extension "2fas-two-factor-authentication" "admin@2fas.com")
|
||||||
|
(extension "sponsorblock" "sponsorBlocker@ajay.app")
|
||||||
|
#(extension "dearrow" "deArrow@ajay.app")
|
||||||
|
#(extension "enhancer-for-youtube" "enhancerforyoutube@maximerf.addons.mozilla.org")
|
||||||
|
#(extension "tabliss" "extension@tabliss.io")
|
||||||
|
#(extension "don-t-fuck-with-paste" "DontFuckWithPaste@raim.ist")
|
||||||
|
#(extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}")
|
||||||
|
#(extension "react-devtools" "@react-devtools")
|
||||||
|
(extension "keepa" "amptra@keepa.com")
|
||||||
|
(extension "redditUntranslate" "reddit-url-redirector@kichkoupi.com")
|
||||||
|
];
|
||||||
|
|
||||||
|
/* ---- PREFERENCES ---- */
|
||||||
|
# Check about:config for options.
|
||||||
|
Preferences = {
|
||||||
|
"browser.contentblocking.category" = { Value = "strict"; Status = "locked"; };
|
||||||
|
"extensions.pocket.enabled" = lock-false;
|
||||||
|
"extensions.screenshots.disabled" = lock-true;
|
||||||
|
"browser.topsites.contile.enabled" = lock-false;
|
||||||
|
#"browser.formfill.enable" = lock-false;
|
||||||
|
#"browser.search.suggest.enabled" = lock-false;
|
||||||
|
#"browser.search.suggest.enabled.private" = lock-false;
|
||||||
|
#"browser.urlbar.suggest.searches" = lock-false;
|
||||||
|
"browser.urlbar.showSearchSuggestionsFirst" = lock-false;
|
||||||
|
"browser.newtabpage.activity-stream.feeds.section.topstories" = lock-false;
|
||||||
|
"browser.newtabpage.activity-stream.feeds.snippets" = lock-false;
|
||||||
|
"browser.newtabpage.activity-stream.section.highlights.includePocket" = lock-false;
|
||||||
|
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = lock-false;
|
||||||
|
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = lock-false;
|
||||||
|
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = lock-false;
|
||||||
|
"browser.newtabpage.activity-stream.showSponsored" = lock-false;
|
||||||
|
"browser.newtabpage.activity-stream.system.showSponsored" = lock-false;
|
||||||
|
"browser.newtabpage.activity-stream.showSponsoredTopSites" = lock-false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
105
flake.lock
generated
Normal file
105
flake.lock
generated
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"grub2-themes": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1734412921,
|
||||||
|
"narHash": "sha256-JeMqc7lLowKn6klrCcOkcOg38yNqF7MPbN4Elh6Xvq0=",
|
||||||
|
"owner": "vinceliuice",
|
||||||
|
"repo": "grub2-themes",
|
||||||
|
"rev": "f6ab2438e124f60a340a526543e498e5e33b3c53",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "vinceliuice",
|
||||||
|
"repo": "grub2-themes",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1753592768,
|
||||||
|
"narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "fc3add429f21450359369af74c2375cb34a2d204",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"ref": "release-25.05",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1747299480,
|
||||||
|
"narHash": "sha256-jh2mqZ//3dul63Hdc/xm0elMv3lBd3WH0Z9YTDM+PJU=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "a7b6b1ea1abb5f0b630bd9a1765bdb99ae19c313",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1753489912,
|
||||||
|
"narHash": "sha256-uDCFHeXdRIgJpYmtcUxGEsZ+hYlLPBhR83fdU+vbC1s=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "13e8d35b7d6028b7198f8186bc0347c6abaa2701",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-25.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"grub2-themes": "grub2-themes",
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"zen-browser": "zen-browser"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zen-browser": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1747282003,
|
||||||
|
"narHash": "sha256-UlCfXNncIYwUvPxHngoH6pY4fiZlU8Z2Ve/gUEn6h+o=",
|
||||||
|
"owner": "youwen5",
|
||||||
|
"repo": "zen-browser-flake",
|
||||||
|
"rev": "952ca99903f19a7096a3709f2938d9c7840a5f91",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "youwen5",
|
||||||
|
"repo": "zen-browser-flake",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
49
flake.nix
Normal file
49
flake.nix
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
description = "NixOS configuration";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
||||||
|
home-manager.url = "github:nix-community/home-manager/release-25.05";
|
||||||
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
#zen-browser.url = "github:MarceColl/zen-browser-flake";
|
||||||
|
zen-browser.url = "github:youwen5/zen-browser-flake";
|
||||||
|
zen-browser.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
grub2-themes = { url = "github:vinceliuice/grub2-themes"; };
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = inputs@{ nixpkgs, home-manager, zen-browser, grub2-themes, ... }:
|
||||||
|
let
|
||||||
|
username = "cookiez";
|
||||||
|
version = "25.05";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
nixosConfigurations = {
|
||||||
|
#Replace the below with your hostname!!! Like: {hostname} = nixpkgs.lib.nixosSystem {
|
||||||
|
nixos = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
specialArgs = {
|
||||||
|
inherit inputs username version;
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
./configuration.nix
|
||||||
|
./firefox.nix
|
||||||
|
./zsh.nix
|
||||||
|
./autostart.nix
|
||||||
|
#./virtual-machine.nix
|
||||||
|
#./zen.nix
|
||||||
|
#./neovim.nix
|
||||||
|
./packages.nix
|
||||||
|
./lockscreen.nix
|
||||||
|
grub2-themes.nixosModules.default
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.users.${username} = ./home.nix;
|
||||||
|
home-manager.extraSpecialArgs = { inherit inputs username version; system = "x86_64-linux"; };
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
41
hardware-configuration.nix
Normal file
41
hardware-configuration.nix
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
# 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")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "uas" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/22a6fa16-0657-4df8-b3e2-7f95fbae778c";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/868C-A59D";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/cb5dbfc0-7c90-41f7-9cad-8c75d84c9d18"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
||||||
28
home.nix
Normal file
28
home.nix
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{ inputs, config, pkgs, username, version, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
# Home Manager needs a bit of information about you and the
|
||||||
|
# paths it should manage.
|
||||||
|
home.username = username;
|
||||||
|
home.homeDirectory = "/home/${username}";
|
||||||
|
|
||||||
|
# This value determines the Home Manager release that your
|
||||||
|
# configuration is compatible with. This helps avoid breakage
|
||||||
|
# when a new Home Manager release introduces backwards
|
||||||
|
# incompatible changes.
|
||||||
|
#
|
||||||
|
# You can update Home Manager without changing this value. See
|
||||||
|
# the Home Manager release notes for a list of state version
|
||||||
|
# changes in each release.
|
||||||
|
home.stateVersion = version;
|
||||||
|
|
||||||
|
# Let Home Manager install and manage itself.
|
||||||
|
programs = {
|
||||||
|
home-manager.enable = true;
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Cookiez";
|
||||||
|
userEmail = "jaden-puerkenauer@web.de";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
37
hyprland.nix
Normal file
37
hyprland.nix
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
environment.systemPackages = with pkgs;
|
||||||
|
[
|
||||||
|
(waybar.overrideAttrs (oldAttrs: {
|
||||||
|
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
|
||||||
|
})
|
||||||
|
)
|
||||||
|
dunst
|
||||||
|
libnotify
|
||||||
|
hyprpaper
|
||||||
|
|
||||||
|
kitty #Terminal
|
||||||
|
rofi-wayland
|
||||||
|
];
|
||||||
|
|
||||||
|
#programs.hyprland.enable = true;
|
||||||
|
#programs.hyprland = {
|
||||||
|
# enable = true;
|
||||||
|
# xwayland.enable = true;
|
||||||
|
#};
|
||||||
|
|
||||||
|
#xdg.portal = {
|
||||||
|
# enable = true;
|
||||||
|
# extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||||
|
#};
|
||||||
|
|
||||||
|
#sound.enable = true;
|
||||||
|
#security.rtkit.enable = true;
|
||||||
|
#services.pipewire = {
|
||||||
|
# enable = true;
|
||||||
|
# alsa.enable = true;
|
||||||
|
# alsa.support3Bbit = true;
|
||||||
|
# pulse.enable = true;
|
||||||
|
# jack.enable = true;
|
||||||
|
#}
|
||||||
|
}
|
||||||
29
lockscreen.nix
Normal file
29
lockscreen.nix
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
# Define the custom background package with the correct relative path
|
||||||
|
background-package = pkgs.stdenvNoCC.mkDerivation {
|
||||||
|
name = "background-image";
|
||||||
|
src = ./other/wallpaper.png; # Place wallpaper.jpg in the same directory as this config file
|
||||||
|
dontUnpack = true;
|
||||||
|
installPhase = ''
|
||||||
|
cp $src $out
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
# X11 and KDE Plasma configuration
|
||||||
|
#services.xserver.enable = true;
|
||||||
|
services.displayManager.sddm = {
|
||||||
|
enable = lib.mkDefault true;
|
||||||
|
theme = "breeze";
|
||||||
|
wayland.enable = true;
|
||||||
|
};
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
(pkgs.writeTextDir "share/sddm/themes/breeze/theme.conf.user" ''
|
||||||
|
[General]
|
||||||
|
background = "${background-package}"
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
}
|
||||||
25
neovim.nix
Normal file
25
neovim.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.neovim = {
|
||||||
|
# ...
|
||||||
|
plugins = with pkgs.vimPlugins; [
|
||||||
|
lazy-nvim
|
||||||
|
];
|
||||||
|
|
||||||
|
extraLuaConfig =
|
||||||
|
# lua
|
||||||
|
''
|
||||||
|
require("lazy").setup({
|
||||||
|
-- disable all update / install features
|
||||||
|
-- this is handled by nix
|
||||||
|
rocks = { enabled = false },
|
||||||
|
pkg = { enabled = false },
|
||||||
|
install = { missing = false },
|
||||||
|
change_detection = { enabled = false },
|
||||||
|
spec = {
|
||||||
|
-- TODO
|
||||||
|
},
|
||||||
|
})
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
35
other/aliases
Normal file
35
other/aliases
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#----------
|
||||||
|
# Commands that will be used as aliases for zsh and bash
|
||||||
|
#----------
|
||||||
|
|
||||||
|
# Common commands
|
||||||
|
#-----
|
||||||
|
alias py="python3"
|
||||||
|
alias mcrow="sudo micro"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
alias neofetch="fastfetch"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Nix Specific commands
|
||||||
|
#-----
|
||||||
|
alias nix-upd="sudo nixos-rebuild switch --flake /etc/nixos"
|
||||||
|
alias nix-update="sudo nixos-rebuild switch --flake /etc/nixos"
|
||||||
|
alias nix-edit="sudoedit /etc/nixos/configuration.nix"
|
||||||
|
alias nix-packages="sudoedit /etc/nixos/packages.nix"
|
||||||
|
alias nix-pkgs="sudoedit /etc/nixos/packages.nix"
|
||||||
|
alias nix-flake="sudoedit /etc/nixos/flake.nix"
|
||||||
|
alias nix-edit-flake="sudoedit /etc/nixos/flake.nix"
|
||||||
|
alias nix-zsh="sudoedit /etc/nixos/zsh.nix"
|
||||||
|
alias nix-edit-zsh="sudoedit /etc/nixos/zsh.nix"
|
||||||
|
alias nix-aliases="sudoedit /etc/nixos/other/aliases"
|
||||||
|
alias nix-edit-aliases="sudoedit /etc/nixos/other/aliases"
|
||||||
|
alias nix-regenerate-config="sudo nixos-generate-config"
|
||||||
|
alias nix-home="echo To edit home manager run command \'home-edit\'"
|
||||||
|
alias home-edit="sudoedit /etc/nixos/home.nix"
|
||||||
|
alias home-upd="home-manager switch"
|
||||||
|
alias home-update="home-manager switch"
|
||||||
|
alias cd-nix="cd /etc/nixos/"
|
||||||
12
other/bookmarks-default
Normal file
12
other/bookmarks-default
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
name = "Bookmarks Toolbar";
|
||||||
|
toolbar = true;
|
||||||
|
bookmarks = [
|
||||||
|
{
|
||||||
|
name = "NixOS Packages";
|
||||||
|
url = "https://search.nixos.org/packages";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
]
|
||||||
16
other/colors.sh
Normal file
16
other/colors.sh
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
NOCOLOR='\033[0m'
|
||||||
|
RED='\033[0;31m'
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
ORANGE='\033[0;33m'
|
||||||
|
BLUE='\033[0;34m'
|
||||||
|
PURPLE='\033[0;35m'
|
||||||
|
CYAN='\033[0;36m'
|
||||||
|
LIGHTGRAY='\033[0;37m'
|
||||||
|
DARKGRAY='\033[1;30m'
|
||||||
|
LIGHTRED='\033[1;31m'
|
||||||
|
LIGHTGREEN='\033[1;32m'
|
||||||
|
YELLOW='\033[1;33m'
|
||||||
|
LIGHTBLUE='\033[1;34m'
|
||||||
|
LIGHTPURPLE='\033[1;35m'
|
||||||
|
LIGHTCYAN='\033[1;36m'
|
||||||
|
WHITE='\033[1;37m'
|
||||||
38
other/konsave.sh
Normal file
38
other/konsave.sh
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
source /etc/nixos/other/colors.sh
|
||||||
|
FLAG_FILE="/home/cookiez/.flags/theme-flag"
|
||||||
|
|
||||||
|
/run/current-system/sw/bin/konsave -i /etc/nixos/other/theme.knsv
|
||||||
|
/run/current-system/sw/bin/konsave -i /etc/nixos/other/theme.knsv
|
||||||
|
/run/current-system/sw/bin/konsave -a theme
|
||||||
|
|
||||||
|
progress_bar() {
|
||||||
|
local duration=$1
|
||||||
|
local interval=0.25
|
||||||
|
local total_intervals=$((duration / interval))
|
||||||
|
local progress=""
|
||||||
|
local bar_length=10
|
||||||
|
|
||||||
|
for ((i=0; i<total_intervals; i++)); do
|
||||||
|
progress="${progress}-"
|
||||||
|
printf "\rApplying: [%-${bar_length}s]" "$progress"
|
||||||
|
sleep $interval
|
||||||
|
done
|
||||||
|
echo -ne "\r[${progress}] Done!\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
mkdir -p "$(dirname "$FLAG_FILE")"
|
||||||
|
touch "$FLAG_FILE"
|
||||||
|
echo "Flag for knowing weather the Default theme packaged with this NixOS install was actually applied! (If this exists than it should be applied already)" > "$FLAG_FILE"
|
||||||
|
|
||||||
|
echo -e "Use ${RED}'sudo reboot -h 0'${NOCOLOR} to successfully apply the theme, if logging out manually ${YELLOW}doesn't${NOCOLOR} work!"
|
||||||
|
progress_bar 2.5
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -n "Do you want to reboot now? (y/n): "
|
||||||
|
read -r answer
|
||||||
|
if [ -z "$answer" ] || [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
|
||||||
|
echo "Rebooting! ..."
|
||||||
|
sudo shutdown -r now
|
||||||
|
else
|
||||||
|
echo "Make sure to log out/reboot later!"
|
||||||
|
fi
|
||||||
BIN
other/pfp.png
Normal file
BIN
other/pfp.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 211 KiB |
9
other/pfp.sh
Normal file
9
other/pfp.sh
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
mkdir -p /var/lib/AccountsService/{icons,users}
|
||||||
|
cp /etc/nixos/other/pfp.png /var/lib/AccountsService/icons/cookiez
|
||||||
|
echo -e "[User]\nIcon=/var/lib/AccountsService/icons/cookiez\n" > /var/lib/AccountsService/users/cookiez
|
||||||
|
|
||||||
|
chown root:root /var/lib/AccountsService/users/cookiez
|
||||||
|
chmod 0600 /var/lib/AccountsService/users/cookiez
|
||||||
|
|
||||||
|
chown root:root /var/lib/AccountsService/icons/cookiez
|
||||||
|
chmod 0444 /var/lib/AccountsService/icons/cookiez
|
||||||
3
other/sway-config
Normal file
3
other/sway-config
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
input * {
|
||||||
|
xkb_layout de
|
||||||
|
}
|
||||||
9
other/theme-reminder.sh
Normal file
9
other/theme-reminder.sh
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
source /etc/nixos/other/colors.sh
|
||||||
|
FLAG_FILE="/home/cookiez/.flags/theme-flag"
|
||||||
|
|
||||||
|
if [ ! -f "$FLAG_FILE" ]; then
|
||||||
|
echo -e "${RED}Warning: Make sure to apply the custom system theme!${NOCOLOR} (source '/etc/nixos/other/konsave.sh')"
|
||||||
|
fi
|
||||||
|
#else
|
||||||
|
# echo "Flag file exists - Theme should be applied already!"
|
||||||
|
#fi
|
||||||
BIN
other/theme.knsv
Normal file
BIN
other/theme.knsv
Normal file
Binary file not shown.
BIN
other/wallpaper.png
Normal file
BIN
other/wallpaper.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.9 MiB |
80
packages.nix
Normal file
80
packages.nix
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
{config, pkgs, libs, inputs, ...}:
|
||||||
|
{
|
||||||
|
environment.systemPackages = with pkgs;
|
||||||
|
[
|
||||||
|
#Essentials (CLI Only)
|
||||||
|
wget #A tool for quickly downloading things from the Web
|
||||||
|
micro-with-xclip
|
||||||
|
vimPlugins.LazyVim
|
||||||
|
neovim
|
||||||
|
#vimPlugins.vim-wayland-clipboard
|
||||||
|
thefuck #Error correction in case commands are wrong. Type: 'fuck'
|
||||||
|
jdk23 #Java Development Kit 23
|
||||||
|
python312 #Python 3.12
|
||||||
|
python312Packages.pip #Pip for Python 3.12
|
||||||
|
python312Packages.cmake #The CMake tool to manage project build configurations
|
||||||
|
fastfetch #A utility to see information about your machine
|
||||||
|
btop #A replacement for htop, see your machines resources
|
||||||
|
git #Git ... no need to explain
|
||||||
|
efibootmgr
|
||||||
|
zip #A utility for ZIP archives
|
||||||
|
unzip
|
||||||
|
rar #A utility for RAR Archives
|
||||||
|
gnutar #A utility for .tar archives
|
||||||
|
cron #A tool to set up commands to run scheduled
|
||||||
|
tmux #A tool to let command windows contiune to run in the background
|
||||||
|
home-manager #A package to also edit the user Configuration, like with nix
|
||||||
|
konsave #A package to transfer the look and feel of KDE Plasma to other machines
|
||||||
|
ocs-url
|
||||||
|
kdePackages.plasma-workspace
|
||||||
|
openssh #SSH
|
||||||
|
zoxide #Alternatice to cd, browse files
|
||||||
|
fzf-zsh #Search for file names
|
||||||
|
sway
|
||||||
|
coreutils-full
|
||||||
|
multipath-tools
|
||||||
|
|
||||||
|
#Programming
|
||||||
|
jetbrains.pycharm-community #The PyCharm IDE to edit Python code
|
||||||
|
jetbrains.idea-community #The IntelliJ IDE to edit Java code
|
||||||
|
jetbrains.clion #The CLion IDE to edit and compile c/c++ code
|
||||||
|
racket #The racket Programming language, with DrRacket IDE, for University (*Not* because it's my favourite)
|
||||||
|
rustup
|
||||||
|
|
||||||
|
#Desktop Applications
|
||||||
|
vlc
|
||||||
|
steam
|
||||||
|
#heroic
|
||||||
|
#putty Need to find alternative as it sucks on linux
|
||||||
|
mission-center
|
||||||
|
trayscale
|
||||||
|
spotify
|
||||||
|
rpi-imager
|
||||||
|
kdePackages.yakuake
|
||||||
|
atlauncher
|
||||||
|
discord
|
||||||
|
whatsapp-for-linux
|
||||||
|
obs-studio
|
||||||
|
i2p
|
||||||
|
gparted
|
||||||
|
#rustdesk
|
||||||
|
mediawriter
|
||||||
|
#inputs.zen-browser.packages.${pkgs.system}.default
|
||||||
|
realvnc-vnc-viewer
|
||||||
|
|
||||||
|
#CLI tools
|
||||||
|
eddie #AirVPN client for CLI and Desktop
|
||||||
|
yt-dlp
|
||||||
|
tailscale
|
||||||
|
speedtest-cli
|
||||||
|
duplicati
|
||||||
|
ollama
|
||||||
|
cloudflare-warp
|
||||||
|
ddrescue
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.config.permittedInsecurePackages = [
|
||||||
|
"dotnet-sdk-6.0.428"
|
||||||
|
"dotnet-runtime-6.0.36"
|
||||||
|
];
|
||||||
|
}
|
||||||
30
virtual-machine.nix
Normal file
30
virtual-machine.nix
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.dconf.enable = true;
|
||||||
|
|
||||||
|
users.users.cookiez.extraGroups = [ "libvirtd" ];
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
virt-manager
|
||||||
|
virt-viewer
|
||||||
|
spice
|
||||||
|
spice-gtk
|
||||||
|
spice-protocol
|
||||||
|
win-virtio
|
||||||
|
win-spice
|
||||||
|
gnome.adwaita-icon-theme
|
||||||
|
];
|
||||||
|
|
||||||
|
virtualisation = {
|
||||||
|
libvirtd = {
|
||||||
|
enable = true;
|
||||||
|
qemu = {
|
||||||
|
swtpm.enable = true;
|
||||||
|
ovmf.enable = true;
|
||||||
|
ovmf.packages = [ pkgs.OVMFFull.fd ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
spiceUSBRedirection.enable = true;
|
||||||
|
};
|
||||||
|
services.spice-vdagentd.enable = true;
|
||||||
|
}
|
||||||
55
zen.nix
Normal file
55
zen.nix
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
{ config, pkgs, inputs, ... }:
|
||||||
|
let
|
||||||
|
username = "cookiez";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
#Copy from https://github.com/0x006E/dotfiles/blob/main/home.nix
|
||||||
|
zen-browser = {
|
||||||
|
enable = true;
|
||||||
|
package = inputs.zen-browser.packages.${pkgs.system}.default;
|
||||||
|
profiles = {
|
||||||
|
${username} = {
|
||||||
|
id = 0;
|
||||||
|
name = "${username}";
|
||||||
|
# profileAvatarPath = "chrome://browser/content/zen-avatars/avatar-57.svg";
|
||||||
|
path = "${username}.default";
|
||||||
|
isDefault = true;
|
||||||
|
settings = {
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
policies = {
|
||||||
|
PasswordManagerEnabled = false;
|
||||||
|
ExtensionSettings =
|
||||||
|
with builtins;
|
||||||
|
let
|
||||||
|
extension = shortId: uuid: {
|
||||||
|
name = uuid;
|
||||||
|
value = {
|
||||||
|
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
|
||||||
|
installation_mode = "normal_installed";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
listToAttrs [
|
||||||
|
(extension "ublock-origin" "uBlock0@raymondhill.net")
|
||||||
|
(extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
|
||||||
|
#(extension "2fas-two-factor-authentication" "admin@2fas.com")
|
||||||
|
(extension "sponsorblock" "sponsorBlocker@ajay.app")
|
||||||
|
#(extension "dearrow" "deArrow@ajay.app")
|
||||||
|
#(extension "enhancer-for-youtube" "enhancerforyoutube@maximerf.addons.mozilla.org")
|
||||||
|
#(extension "tabliss" "extension@tabliss.io")
|
||||||
|
#(extension "don-t-fuck-with-paste" "DontFuckWithPaste@raim.ist")
|
||||||
|
#(extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}")
|
||||||
|
#(extension "react-devtools" "@react-devtools")
|
||||||
|
(extension "keepa" "amptra@keepa.com")
|
||||||
|
];
|
||||||
|
# To add additional extensions, find it on addons.mozilla.org, find
|
||||||
|
# the short ID in the url (like https=//addons.mozilla.org/en-US/firefox/addon/!SHORT_ID!/)
|
||||||
|
# Then, download the XPI by filling it in to the install_url template, unzip it,
|
||||||
|
# run `jq .browser_specific_settings.gecko.id manifest.json` or
|
||||||
|
# `jq .applications.gecko.id manifest.json` to get the UUID
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
29
zsh.nix
Normal file
29
zsh.nix
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{ config, pkgs, ... }: {
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
ohMyZsh = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [ "git" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
shellInit = ''
|
||||||
|
source /etc/nixos/other/aliases
|
||||||
|
source /etc/nixos/other/theme-reminder.sh
|
||||||
|
'';
|
||||||
|
|
||||||
|
promptInit = ''
|
||||||
|
source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.cookiez.shell = pkgs.zsh;
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.oh-my-zsh
|
||||||
|
pkgs.zsh
|
||||||
|
pkgs.zsh-completions
|
||||||
|
pkgs.zsh-powerlevel10k
|
||||||
|
pkgs.zsh-syntax-highlighting
|
||||||
|
pkgs.zsh-autocomplete
|
||||||
|
];
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user