Added jaci kde edition, added autostart and other niceties to sway config
This commit is contained in:
parent
c4f0a374b2
commit
1ae71eba14
18
flake.nix
18
flake.nix
|
@ -47,6 +47,24 @@
|
||||||
./nate/default.nix
|
./nate/default.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
jaci = nixpkgs.lib.nixosSystem {
|
||||||
|
# Pass args to desktop configuration
|
||||||
|
specialArgs = {
|
||||||
|
inherit inputs outputs timeZone system;
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
# Setup home manager
|
||||||
|
inputs.home-manager.nixosModules.home-manager {
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.users.jaci = import ./jaci/modules/home-manager/home.nix;
|
||||||
|
home-manager.extraSpecialArgs = {
|
||||||
|
inherit inputs outputs;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
./jaci/default.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
39
jaci/default.nix
Normal file
39
jaci/default.nix
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
{ config, lib, inputs, outputs, pkgs, system, timeZone, ... }:
|
||||||
|
let
|
||||||
|
userName = "jaci";
|
||||||
|
fullName = "Jaci Anderson";
|
||||||
|
email = "jaci.s.anderson@gmail.com";
|
||||||
|
hostName = "meowyxlife";
|
||||||
|
desktop = "kde";
|
||||||
|
gaming = true;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./desktop-configuration.nix
|
||||||
|
./nixos/hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
deskCfg = {
|
||||||
|
userName = userName;
|
||||||
|
hostName = hostName;
|
||||||
|
de = desktop;
|
||||||
|
installGaming = gaming;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Limit the number of generations to keep
|
||||||
|
boot.loader.systemd-boot.configurationLimit = 5;
|
||||||
|
|
||||||
|
# Perform garbage collection weekly to maintain low disk usage
|
||||||
|
nix.gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 1w";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Optimize storage
|
||||||
|
# You can also manually optimize the store via:
|
||||||
|
# nix-store --optimise
|
||||||
|
# Refer to the following link for more details:
|
||||||
|
# https://nixos.org/manual/nix/stable/command-ref/conf-file.html#conf-auto-optimise-store
|
||||||
|
nix.settings.auto-optimise-store = true;
|
||||||
|
}
|
94
jaci/desktop-configuration.nix
Normal file
94
jaci/desktop-configuration.nix
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
{ config, lib, inputs, outputs, pkgs, timeZone, system, ... }:
|
||||||
|
let
|
||||||
|
supportedDesktops = [ "kde" ];
|
||||||
|
supportedDesktopsStr = lib.strings.concatStringsSep ", " supportedDesktops;
|
||||||
|
deskCfg = config.deskCfg;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.deskCfg = {
|
||||||
|
de = lib.mkOption {
|
||||||
|
default = "kde";
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Desktop Environment";
|
||||||
|
};
|
||||||
|
userName = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Main username for system";
|
||||||
|
};
|
||||||
|
hostName = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Hostname for system";
|
||||||
|
};
|
||||||
|
installGaming = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = true;
|
||||||
|
description = "Whether to install gaming software or not";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
modules/user/main_user.nix
|
||||||
|
modules/kde/kde_conf.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
config = {
|
||||||
|
assertions = [
|
||||||
|
{
|
||||||
|
assertion = builtins.elem deskCfg.de supportedDesktops;
|
||||||
|
message = "Unsupported desktop environment: ${deskCfg.de}\nSupported DE's: ${supportedDesktopsStr}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
inputs.nur.overlay
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enable flakes feature
|
||||||
|
nix.settings.experimental-features = [
|
||||||
|
"nix-command" "flakes"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Use the systemd-boot EFI boot loader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
boot.plymouth.enable = true;
|
||||||
|
|
||||||
|
networking.hostName = deskCfg.hostName; # Define your hostname.
|
||||||
|
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
||||||
|
|
||||||
|
time.timeZone = timeZone;
|
||||||
|
|
||||||
|
|
||||||
|
users.users.${deskCfg.userName} = {
|
||||||
|
isNormalUser = true;
|
||||||
|
initialPassword = "password";
|
||||||
|
description = "main user";
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
extraGroups = [
|
||||||
|
"wheel"
|
||||||
|
"networkmanager"
|
||||||
|
"corectrl"
|
||||||
|
deskCfg.userName
|
||||||
|
"video"
|
||||||
|
"audio"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
# main_user = {
|
||||||
|
# enable = true;
|
||||||
|
# userName = deskCfg.userName;
|
||||||
|
# isDesktopUser = true;
|
||||||
|
# };
|
||||||
|
|
||||||
|
kde = {
|
||||||
|
enable = true;
|
||||||
|
useNonFree = true;
|
||||||
|
installGaming = deskCfg.installGaming;
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
libreoffice
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "23.11"; # Did you read the comment?
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
66
jaci/modules/apps/firefox/firefox.nix
Normal file
66
jaci/modules/apps/firefox/firefox.nix
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
{lib, config, pkgs, inputs, ...}:
|
||||||
|
let
|
||||||
|
cfg = config.firefoxApp;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
# imports = [
|
||||||
|
# inputs.nur.hmModules.nur
|
||||||
|
# ];
|
||||||
|
|
||||||
|
options.firefoxApp = {
|
||||||
|
enable = lib.mkEnableOption "enable firefox browser";
|
||||||
|
};
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
profiles = {
|
||||||
|
default = {
|
||||||
|
id = 0;
|
||||||
|
name = "default";
|
||||||
|
isDefault = true;
|
||||||
|
extensions = with pkgs; [
|
||||||
|
nur.repos.rycee.firefox-addons.darkreader
|
||||||
|
nur.repos.rycee.firefox-addons.keepassxc-browser
|
||||||
|
nur.repos.crazazy.firefox-addons.ublock-origin
|
||||||
|
];
|
||||||
|
search = {
|
||||||
|
# Replace default firefox search engine config with this one
|
||||||
|
force = true;
|
||||||
|
default = "Startpage";
|
||||||
|
engines = {
|
||||||
|
"Startpage" = {
|
||||||
|
urls = [{
|
||||||
|
template = "https://www.startpage.com/sp/search?query={searchTerms}";
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
"browser.startup.blankWindow" = true;
|
||||||
|
"browser.startup.homepage" = "about:blank";
|
||||||
|
"browser.search.region" = "US";
|
||||||
|
"browser.search.isUS" = true;
|
||||||
|
"distribution.searchplugins.defaultLocale" = "en-US";
|
||||||
|
"general.useragent.locale" = "en-US";
|
||||||
|
"extensions.activeThemeID" = "{831b8843-7251-4306-9521-e688f18b4aeb}";
|
||||||
|
"privacy.trackingprotection.enable" = true;
|
||||||
|
"privacy.trackingprotection.emailtracking.enable" = true;
|
||||||
|
"privacy.trackingprotection.socialtracking.enable" = true;
|
||||||
|
"privacy.clearOnShutdown.cookies" = true;
|
||||||
|
"browser.safebrowsing.passwords.enabled" = false;
|
||||||
|
"browser.migrate.interactions.passwords" = false;
|
||||||
|
"pref.privacy.disable_button.view_passwords" = false;
|
||||||
|
"signon.rememberSignon" = false;
|
||||||
|
"extensions.formautofill.creditCards.enabled" = false;
|
||||||
|
"extensions.formautofill.addresses.enabled" = false;
|
||||||
|
# "browser.bookmarks.showMobileBookmarks" = true;
|
||||||
|
# "browser.newtabpage.pinned" = [{
|
||||||
|
# title = "NixOS";
|
||||||
|
# url = "https://nixos.org";
|
||||||
|
# }];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
203
jaci/modules/home-manager/home.nix
Normal file
203
jaci/modules/home-manager/home.nix
Normal file
|
@ -0,0 +1,203 @@
|
||||||
|
{ inputs, outputs, lib, config, pkgs, ... }:
|
||||||
|
let
|
||||||
|
userName = "jaci";
|
||||||
|
fullName = "Jaci Anderson";
|
||||||
|
email = "jaci.s.anderson@gmail.com";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
# nixpkgs.overlays = [
|
||||||
|
# inputs.nur.overlay
|
||||||
|
# ];
|
||||||
|
|
||||||
|
# nixpkgs.config.allowUnfree = true;
|
||||||
|
# inputs.nixpkgs-stable.config.allowUnfree = true;
|
||||||
|
imports = [
|
||||||
|
../apps/firefox/firefox.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home.username = userName;
|
||||||
|
home.homeDirectory = "/home/${userName}";
|
||||||
|
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
home.stateVersion = "23.11"; # Please read the comment before changing.
|
||||||
|
|
||||||
|
# The home.packages option allows you to install Nix packages into your
|
||||||
|
# environment.
|
||||||
|
firefoxApp.enable = true;
|
||||||
|
|
||||||
|
fonts.fontconfig.enable = true;
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# nur.repos.crazazy.js.eslint
|
||||||
|
# inputs.nixpkgs-stable.legacyPackages.x86_64-linux.corectrl
|
||||||
|
|
||||||
|
#
|
||||||
|
# Dev Tools
|
||||||
|
#
|
||||||
|
dbeaver
|
||||||
|
cargo
|
||||||
|
kakoune
|
||||||
|
# flutter
|
||||||
|
docker
|
||||||
|
docker-compose
|
||||||
|
python310
|
||||||
|
nodejs_21
|
||||||
|
zig
|
||||||
|
### LSP's
|
||||||
|
rnix-lsp # Nix LSP
|
||||||
|
openscad-lsp
|
||||||
|
nodePackages.typescript-language-server
|
||||||
|
vscode-langservers-extracted # provides eslint, markdown, json, css, and html lsp
|
||||||
|
rubyPackages.solargraph
|
||||||
|
python310Packages.python-lsp-server
|
||||||
|
zls
|
||||||
|
### Misc
|
||||||
|
# android-udev-rules
|
||||||
|
# android-tools
|
||||||
|
# sdkmanager
|
||||||
|
openscad
|
||||||
|
|
||||||
|
#
|
||||||
|
# Gaming
|
||||||
|
#
|
||||||
|
wine-wayland
|
||||||
|
webcord
|
||||||
|
|
||||||
|
#
|
||||||
|
# Better Unix
|
||||||
|
#
|
||||||
|
bat
|
||||||
|
duf
|
||||||
|
fd
|
||||||
|
fzf
|
||||||
|
lsd
|
||||||
|
ripgrep
|
||||||
|
tre-command
|
||||||
|
gtop
|
||||||
|
|
||||||
|
#
|
||||||
|
# Photo / Video
|
||||||
|
#
|
||||||
|
imv
|
||||||
|
mpv
|
||||||
|
gimp
|
||||||
|
|
||||||
|
#
|
||||||
|
# Communication
|
||||||
|
#
|
||||||
|
mumble
|
||||||
|
slack
|
||||||
|
signal-desktop
|
||||||
|
|
||||||
|
#
|
||||||
|
# Other
|
||||||
|
#
|
||||||
|
keepassxc
|
||||||
|
obs-studio
|
||||||
|
|
||||||
|
# Install fonts
|
||||||
|
(nerdfonts.override { fonts = [ "Hermit" "Overpass" ]; })
|
||||||
|
|
||||||
|
# # You can also create simple shell scripts directly inside your
|
||||||
|
# # configuration. For example, this adds a command 'my-hello' to your
|
||||||
|
# # environment:
|
||||||
|
# (pkgs.writeShellScriptBin "my-hello" ''
|
||||||
|
# echo "Hello, ${config.home.username}!"
|
||||||
|
# '')
|
||||||
|
];
|
||||||
|
|
||||||
|
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||||
|
# plain files is through 'home.file'.
|
||||||
|
# home.file."${config.xdg.configHome}" = {
|
||||||
|
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
|
||||||
|
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
|
||||||
|
# # symlink to the Nix store copy.
|
||||||
|
# ".screenrc".source = dotfiles/screenrc;
|
||||||
|
# source = ../../dotfiles;
|
||||||
|
# recursive = true;
|
||||||
|
|
||||||
|
# # You can also set the file content immediately.
|
||||||
|
# ".gradle/gradle.properties".text = ''
|
||||||
|
# org.gradle.console=verbose
|
||||||
|
# org.gradle.daemon.idletimeout=3600000
|
||||||
|
# '';
|
||||||
|
# };
|
||||||
|
|
||||||
|
|
||||||
|
# Home Manager can also manage your environment variables through
|
||||||
|
# 'home.sessionVariables'. If you don't want to manage your shell through Home
|
||||||
|
# Manager then you have to manually source 'hm-session-vars.sh' located at
|
||||||
|
# either
|
||||||
|
#
|
||||||
|
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||||
|
#
|
||||||
|
# or
|
||||||
|
#
|
||||||
|
# /etc/profiles/per-user/nate/etc/profile.d/hm-session-vars.sh
|
||||||
|
#
|
||||||
|
home.sessionVariables = {
|
||||||
|
EDITOR = "kak";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Git setup
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userEmail = email;
|
||||||
|
userName = fullName;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Zsh setup
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
oh-my-zsh = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [ "git" ];
|
||||||
|
theme = "half-life";
|
||||||
|
};
|
||||||
|
initExtra = ''
|
||||||
|
alias ask="nix-shell -p python310Packages.openai --run 'python ~/source/python/chat.py'"
|
||||||
|
|
||||||
|
fzf_projects() {
|
||||||
|
DIR=`
|
||||||
|
fd .git --search-path="$HOME/source/" -H --ignore-file ~/.config/fd-ignore -tdirectory | \
|
||||||
|
xargs dirname | \
|
||||||
|
sed 's|$HOME||g' | \
|
||||||
|
sort | \
|
||||||
|
uniq | \
|
||||||
|
fzf --preview 'ls $HOME/{}/README.md 2>/dev/null && bat $HOME/{}/README.md || printf "No README.md file found in this directory\n%s" {}' --preview-window=top | \
|
||||||
|
xargs printf "$HOME/%s/"
|
||||||
|
`
|
||||||
|
cd $DIR
|
||||||
|
}
|
||||||
|
alias p="fzf_projects source/"
|
||||||
|
|
||||||
|
### Busykid Bash Functions
|
||||||
|
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Theming qt and gnome apps
|
||||||
|
#
|
||||||
|
|
||||||
|
qt = {
|
||||||
|
enable = true;
|
||||||
|
platformTheme = "gtk";
|
||||||
|
style.name = "adwaita-dark";
|
||||||
|
style.package = pkgs.adwaita-qt;
|
||||||
|
};
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
cursorTheme.package = pkgs.catppuccin-cursors;
|
||||||
|
cursorTheme.name = "latteFlamingo";
|
||||||
|
theme = {
|
||||||
|
name = "Catppuccin-Latte-Pink";
|
||||||
|
package = pkgs.catppuccin-gtk.override {
|
||||||
|
accents = [ "pink" ];
|
||||||
|
tweaks = [ ];
|
||||||
|
variant = "latte";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
69
jaci/modules/kde/kde_conf.nix
Normal file
69
jaci/modules/kde/kde_conf.nix
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
{ lib, config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
options.kde = {
|
||||||
|
enable = lib.mkEnableOption "Enable kde.";
|
||||||
|
useNonFree = lib.mkOption {
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
description = "Whether to enable non-free software in the kde config";
|
||||||
|
};
|
||||||
|
installGaming = lib.mkOption {
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
description = "Whether to install gaming software on the system.";
|
||||||
|
};
|
||||||
|
systemPackages = lib.mkOption {
|
||||||
|
default = [];
|
||||||
|
description = "Add any additional packages desired. Merged with kde defaults.";
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
###
|
||||||
|
## Configuration
|
||||||
|
###
|
||||||
|
config = lib.mkIf config.kde.enable {
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = config.kde.useNonFree;
|
||||||
|
|
||||||
|
###
|
||||||
|
## System Packages
|
||||||
|
###
|
||||||
|
environment.systemPackages = with pkgs; lib.lists.flatten [
|
||||||
|
[
|
||||||
|
bash
|
||||||
|
git
|
||||||
|
glib # gsettings
|
||||||
|
ncspot
|
||||||
|
zsh
|
||||||
|
]
|
||||||
|
config.kde.systemPackages
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.zsh.enable = true;
|
||||||
|
programs.steam.enable = config.kde.installGaming;
|
||||||
|
|
||||||
|
# kdeconnect setup
|
||||||
|
programs.kdeconnect.enable = true;
|
||||||
|
|
||||||
|
###
|
||||||
|
## Services
|
||||||
|
###
|
||||||
|
services.openssh.enable = true;
|
||||||
|
# services.dbus.enable = true;
|
||||||
|
# enabling kde
|
||||||
|
services.xserver.enable = true;
|
||||||
|
services.xserver.displayManager.defaultSession = "plasmawayland";
|
||||||
|
services.xserver.displayManager.sddm.enable = true;
|
||||||
|
services.xserver.desktopManager.plasma5.enable = true;
|
||||||
|
###
|
||||||
|
## Misc
|
||||||
|
###
|
||||||
|
sound.enable = true;
|
||||||
|
|
||||||
|
hardware.opengl = {
|
||||||
|
enable = true;
|
||||||
|
driSupport = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
53
jaci/modules/user/main_user.nix
Normal file
53
jaci/modules/user/main_user.nix
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.main_user;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.main_user = {
|
||||||
|
enable = lib.mkEnableOption "enable user module";
|
||||||
|
|
||||||
|
isDesktopUser = lib.mkOption {
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
description = "Add additional user groups for desktop users";
|
||||||
|
};
|
||||||
|
|
||||||
|
userName = lib.mkOption {
|
||||||
|
default = "mainuser";
|
||||||
|
description = "username";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
users.users.${cfg.userName} = lib.mkMerge [
|
||||||
|
{
|
||||||
|
isNormalUser = true;
|
||||||
|
initialPassword = "password";
|
||||||
|
|
||||||
|
description = "main user";
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
}
|
||||||
|
|
||||||
|
(lib.mkIf (!cfg.isDesktopUser) {
|
||||||
|
extraGroups = [
|
||||||
|
"wheel"
|
||||||
|
"networkmanager"
|
||||||
|
cfg.userName
|
||||||
|
];
|
||||||
|
})
|
||||||
|
(lib.mkIf cfg.isDesktopUser {
|
||||||
|
extraGroups = [
|
||||||
|
"wheel"
|
||||||
|
"networkmanager"
|
||||||
|
"corectrl"
|
||||||
|
cfg.userName
|
||||||
|
"video"
|
||||||
|
"audio"
|
||||||
|
# For android
|
||||||
|
"adbusers"
|
||||||
|
];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
44
jaci/nixos/hardware-configuration.nix
Normal file
44
jaci/nixos/hardware-configuration.nix
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
# 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" "usbhid" "uas" "usb_storage" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/e48c53a4-6e7d-4b12-a46e-a408956268ea";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/82B2-9D40";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/home/nate/Games" =
|
||||||
|
{ device = "/dev/disk/by-uuid/d66b7920-2c29-400a-be51-0b3890ea63db";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# 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.enp1s0f0u2u1u4.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
|
@ -8,15 +8,32 @@
|
||||||
gaming = true;
|
gaming = true;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./desktop-configuration.nix
|
./desktop-configuration.nix
|
||||||
./nixos/hardware-configuration.nix
|
./nixos/hardware-configuration.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
deskCfg = {
|
deskCfg = {
|
||||||
userName = userName;
|
userName = userName;
|
||||||
hostName = hostName;
|
hostName = hostName;
|
||||||
de = desktop;
|
de = desktop;
|
||||||
installGaming = gaming;
|
installGaming = gaming;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Limit the number of generations to keep
|
||||||
|
boot.loader.systemd-boot.configurationLimit = 5;
|
||||||
|
|
||||||
|
# Perform garbage collection weekly to maintain low disk usage
|
||||||
|
nix.gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 1w";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Optimize storage
|
||||||
|
# You can also manually optimize the store via:
|
||||||
|
# nix-store --optimise
|
||||||
|
# Refer to the following link for more details:
|
||||||
|
# https://nixos.org/manual/nix/stable/command-ref/conf-file.html#conf-auto-optimise-store
|
||||||
|
nix.settings.auto-optimise-store = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,6 +54,7 @@ in
|
||||||
# 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;
|
||||||
|
boot.plymouth.enable = true;
|
||||||
|
|
||||||
networking.hostName = deskCfg.hostName; # Define your hostname.
|
networking.hostName = deskCfg.hostName; # Define your hostname.
|
||||||
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.
|
||||||
|
|
|
@ -9,4 +9,5 @@
|
||||||
# Wacom Tablet - Example
|
# Wacom Tablet - Example
|
||||||
# input "1386:884:Wacom_Intuos_S_Pad" map_to_output HDMI-A-1
|
# input "1386:884:Wacom_Intuos_S_Pad" map_to_output HDMI-A-1
|
||||||
# input "1386:884:Wacom_Intuos_S_Pen" map_to_output HDMI-A-1
|
# input "1386:884:Wacom_Intuos_S_Pen" map_to_output HDMI-A-1
|
||||||
|
output DP-3 resolution 2560x1440@164.956Hz position 0,0
|
||||||
output * adaptive_sync on
|
output * adaptive_sync on
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
PID_FILE="background.pid"
|
PID_FILE="background.pid"
|
||||||
WP_LOC="/home/nate/.config/sway/wallpapers"
|
WP_LOC="/home/nate/.config/sway/wallpapers"
|
||||||
PREV_WP=""
|
PREV_WP=""
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/sh
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# usage: import-gsettings
|
# usage: import-gsettings
|
||||||
config="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini"
|
config="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
SCALE_FILE="scale.txt"
|
SCALE_FILE="scale.txt"
|
||||||
DIRNAME="/tmp/$(ls /tmp | grep scale.sh | head -n 1)"
|
DIRNAME="/tmp/$(ls /tmp | grep scale.sh | head -n 1)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
entries="Active Screen Output Area Window"
|
entries="Active Screen Output Area Window"
|
||||||
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
LOC="$1"
|
|
||||||
# HTML encode string as %20
|
|
||||||
LOCATION=$(sed -e "s/ /%20/g" <<<"$LOC")
|
|
||||||
content=$(curl -sS "https://thisdavej.azurewebsites.net/api/weather/current?loc=NewYork°=C")
|
|
||||||
ICON=$(curl -s 'https://wttr.in/?format=1' | sed 's/[+0-9a-cA-Z°-]//g' )
|
|
||||||
# echo $ICON
|
|
||||||
TEMP=$(echo $content | jq -r '. | "\(.temperature)°\(.degType)"' | sed 's/"//g')
|
|
||||||
TOOLTIP=$(echo $content | jq -r '. | "\(.temperature)°\(.degType)\n\(.skytext)"' | sed 's/"//g')
|
|
||||||
CLASS=$(echo $content | jq .skytext)
|
|
||||||
echo '{"text": "'$TEMP'", "tooltip": "'$ICON $TOOLTIP $LOC'", "class": '$CLASS' }'
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
|
|
||||||
#!/bin/bash
|
|
||||||
#simple Shellscript for waybar/i3blocks/polybar on Pinebook pro
|
|
||||||
#05012020 geri123@gmx.net Gerhard S.
|
|
||||||
|
|
||||||
PERCENT=$(cat /sys/class/power_supply/cw2015-battery/capacity)
|
|
||||||
STATUS=$(cat /sys/class/power_supply/cw2015-battery/status)
|
|
||||||
case $((
|
|
||||||
$PERCENT >= 0 && $PERCENT <= 20 ? 1 :
|
|
||||||
$PERCENT > 20 && $PERCENT <= 40 ? 2 :
|
|
||||||
$PERCENT > 40 && $PERCENT <= 60 ? 3 :
|
|
||||||
$PERCENT > 60 && $PERCENT <= 80 ? 4 : 5)) in
|
|
||||||
#
|
|
||||||
(1) echo $STATUS:"":$PERCENT%;;
|
|
||||||
(2) echo $STATUS:"":$PERCENT%;;
|
|
||||||
(3) echo $STATUS:"":$PERCENT%;;
|
|
||||||
(4) echo $STATUS:"":$PERCENT%;;
|
|
||||||
(5) echo $STATUS:"":$PERCENT%;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
entries="Default Colemak"
|
entries="Default Colemak"
|
||||||
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
yad --title="EndeavourOS Sway-WM keybindings:" --no-buttons --geometry=400x345-15-400 --list --column=key: --column=description: --column=command: "ESC" "close this app" "" "=" "modkey" "(set mod Mod4)" "+enter" "Terminal" "(xfce4-terminal)" "+d" "Application Menu" "(wofi)" "+p" "Activities" "(wofi)" "+o" "" "Open Broswer" "+n" "" "Open Files" "+q" "close focused app" "(kill)" "[Shift]+Print-key" "screenshot" "(grim)" "+Shift+e" "power-menu" "(wofi)" "+t" "open keybinding helper" "full list"
|
|
|
@ -1,13 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
LOC="$1"
|
|
||||||
# HTML encode string as %20
|
|
||||||
LOCATION=$(sed -e "s/ /%20/g" <<<"$LOC")
|
|
||||||
content=$(curl -sS "https://thisdavej.azurewebsites.net/api/weather/current?loc=$LOCATION°=C")
|
|
||||||
ICON=$(curl -s 'https://wttr.in/?format=1' | sed 's/[+0-9a-cA-Z°-]//g' )
|
|
||||||
# echo $ICON
|
|
||||||
TEMP=$(echo $content | jq -r '. | "\(.temperature)°\(.degType)"' | sed 's/"//g')
|
|
||||||
TOOLTIP=$(echo $content | jq -r '. | "\(.temperature)°\(.degType)\n\(.skytext)"' | sed 's/"//g')
|
|
||||||
CLASS=$(echo $content | jq .skytext)
|
|
||||||
echo '{"text": "'$TEMP'", "tooltip": "'$ICON $TOOLTIP $LOC'", "class": '$CLASS' }'
|
|
||||||
|
|
|
@ -67,12 +67,12 @@
|
||||||
# Better Unix
|
# Better Unix
|
||||||
#
|
#
|
||||||
bat
|
bat
|
||||||
broot # tree alternative
|
|
||||||
duf
|
duf
|
||||||
fd
|
fd
|
||||||
fzf
|
fzf
|
||||||
lsd
|
lsd
|
||||||
ripgrep
|
ripgrep
|
||||||
|
tre-command
|
||||||
gtop
|
gtop
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -178,4 +178,23 @@
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
qt = {
|
||||||
|
enable = true;
|
||||||
|
platformTheme = "gtk";
|
||||||
|
style.name = "adwaita-dark";
|
||||||
|
style.package = pkgs.adwaita-qt;
|
||||||
|
};
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
cursorTheme.package = pkgs.catppuccin-cursors;
|
||||||
|
cursorTheme.name = "latteFlamingo";
|
||||||
|
theme = {
|
||||||
|
name = "Catppuccin-Latte-Pink";
|
||||||
|
package = pkgs.catppuccin-gtk.override {
|
||||||
|
accents = [ "pink" ];
|
||||||
|
tweaks = [ ];
|
||||||
|
variant = "latte";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,6 +70,7 @@
|
||||||
slurp
|
slurp
|
||||||
swaylock
|
swaylock
|
||||||
swayidle
|
swayidle
|
||||||
|
swww
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
waybar
|
waybar
|
||||||
wdisplays
|
wdisplays
|
||||||
|
@ -84,6 +85,9 @@
|
||||||
# ])
|
# ])
|
||||||
];
|
];
|
||||||
|
|
||||||
|
environment.loginShellInit = ''
|
||||||
|
[[ "$(tty)" == /dev/tty1 ]] && sway
|
||||||
|
'';
|
||||||
# Thunar config
|
# Thunar config
|
||||||
programs.thunar = {
|
programs.thunar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user