wip
This commit is contained in:
parent
d52099bbb9
commit
05c5cf81bf
18
.bashrc
18
.bashrc
@ -95,8 +95,12 @@ if [ -f /home/menno/.config/op/plugins.sh ]; then
|
|||||||
source /home/menno/.config/op/plugins.sh
|
source /home/menno/.config/op/plugins.sh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Starship Prompt Initialization (Adapted for Bash)
|
# Initialize starship if available
|
||||||
|
if ! command -v starship &> /dev/null; then
|
||||||
|
echo "FYI, starship not found"
|
||||||
|
else
|
||||||
eval "$(starship init bash)"
|
eval "$(starship init bash)"
|
||||||
|
fi
|
||||||
|
|
||||||
# Source nix home-manager
|
# Source nix home-manager
|
||||||
if [ -f "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh" ]; then
|
if [ -f "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh" ]; then
|
||||||
@ -112,7 +116,14 @@ if command -v zoxide &> /dev/null; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if we are running from zellij, if not then launch it
|
# Check if we are running from zellij, if not then launch it
|
||||||
|
launch_zellij_conditionally() {
|
||||||
if [ -z "$ZELLIJ" ]; then
|
if [ -z "$ZELLIJ" ]; then
|
||||||
|
# Don't launch zellij in tmux, vscode, screen or zeditor.
|
||||||
|
if [ ! -t 1 ] || [ -n "$TMUX" ] || [ -n "$VSCODE_STABLE" ] || [ -n "$STY" ] || [ -n "$ZED_TERM" ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Launch zellij
|
||||||
zellij
|
zellij
|
||||||
|
|
||||||
# Exit if zellij exits properly with a zero exit code
|
# Exit if zellij exits properly with a zero exit code
|
||||||
@ -120,9 +131,12 @@ if [ -z "$ZELLIJ" ]; then
|
|||||||
exit $?
|
exit $?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Zellij exited with a non-zero exit code, continuing..."
|
echo "Zellij exited with a non-zero exit code, falling back to regular shell."
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
launch_zellij_conditionally
|
||||||
|
|
||||||
# Display a welcome message for interactive shells
|
# Display a welcome message for interactive shells
|
||||||
if [ -t 1 ]; then
|
if [ -t 1 ]; then
|
||||||
|
@ -3,10 +3,7 @@
|
|||||||
source $HOME/dotfiles/bin/helpers/functions.sh
|
source $HOME/dotfiles/bin/helpers/functions.sh
|
||||||
|
|
||||||
# Print logo
|
# Print logo
|
||||||
tput setaf 2
|
echo "Menno's Dotfiles" | figlet | lolcat
|
||||||
cat $HOME/dotfiles/bin/resources/logo.txt
|
|
||||||
println " " "cyan"
|
|
||||||
tput sgr0
|
|
||||||
|
|
||||||
# Print help
|
# Print help
|
||||||
cat $HOME/dotfiles/bin/resources/help.txt
|
cat $HOME/dotfiles/bin/resources/help.txt
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
source $HOME/dotfiles/bin/helpers/functions.sh
|
|
||||||
|
|
||||||
# Kill any running swhkd and swhks processes
|
|
||||||
if pgrep -x "swhkd" > /dev/null; then
|
|
||||||
printfe "%s\n" "yellow" "swhkd is running, killing it..."
|
|
||||||
sudo pkill swhkd
|
|
||||||
fi
|
|
||||||
|
|
||||||
if pgrep -x "swhks" > /dev/null; then
|
|
||||||
printfe "%s\n" "yellow" "swhks is running, killing it..."
|
|
||||||
sudo pkill swhks
|
|
||||||
fi
|
|
||||||
|
|
||||||
printfe "%s\n" "green" "Starting hotkey daemon..."
|
|
||||||
swhks & pkexec swhkd -c ~/.config/swhkdrc
|
|
@ -1,21 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
source $HOME/dotfiles/bin/helpers/functions.sh
|
|
||||||
source $HOME/dotfiles/bin/helpers/pipx_packages.sh
|
|
||||||
source $HOME/dotfiles/bin/helpers/cargo_packages.sh
|
|
||||||
source $HOME/dotfiles/bin/helpers/flatpak_packages.sh
|
|
||||||
source $HOME/dotfiles/bin/helpers/fonts.sh
|
|
||||||
|
|
||||||
# Check if parameter --verbose was passed
|
|
||||||
if [ "$2" = "--verbose" ]; then
|
|
||||||
verbose=true
|
|
||||||
else
|
|
||||||
verbose=false
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -e "\n"
|
|
||||||
|
|
||||||
print_fonts_status
|
|
||||||
print_pipx_status
|
|
||||||
print_cargo_status
|
|
||||||
print_flatpak_status
|
|
@ -260,6 +260,10 @@ else
|
|||||||
--home-manager)
|
--home-manager)
|
||||||
homemanager
|
homemanager
|
||||||
;;
|
;;
|
||||||
|
--nix)
|
||||||
|
sys_packages
|
||||||
|
homemanager
|
||||||
|
;;
|
||||||
--git)
|
--git)
|
||||||
git_repos
|
git_repos
|
||||||
;;
|
;;
|
||||||
|
4
bin/dotf
4
bin/dotf
@ -54,10 +54,6 @@ case $1 in
|
|||||||
logo continue
|
logo continue
|
||||||
push $@
|
push $@
|
||||||
;;
|
;;
|
||||||
"status")
|
|
||||||
logo continue
|
|
||||||
status $@
|
|
||||||
;;
|
|
||||||
"help"|"--help"|"")
|
"help"|"--help"|"")
|
||||||
help $@
|
help $@
|
||||||
;;
|
;;
|
||||||
|
@ -15,10 +15,7 @@ is_wsl() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
logo() {
|
logo() {
|
||||||
tput setaf 2
|
echo "Menno's Dotfiles" | figlet | lolcat
|
||||||
cat $HOME/dotfiles/bin/resources/logo.txt
|
|
||||||
println " " "cyan"
|
|
||||||
tput sgr0
|
|
||||||
|
|
||||||
# Print if repo is dirty and the count of untracked files, modified files and staged files
|
# Print if repo is dirty and the count of untracked files, modified files and staged files
|
||||||
if [[ $(git -C ~/dotfiles status --porcelain) ]]; then
|
if [[ $(git -C ~/dotfiles status --porcelain) ]]; then
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
|
|
||||||
_ ___ _ __ _ _
|
|
||||||
/\/\ ___ _ __ _ __ ___( )__ / \___ | |_ / _(_) | ___ ___
|
|
||||||
/ \ / _ \ '_ \| '_ \ / _ \/ __| / /\ / _ \| __| |_| | |/ _ \/ __|
|
|
||||||
/ /\/\ \ __/ | | | | | | (_) \__ \ / /_// (_) | |_| _| | | __/\__ \
|
|
||||||
\/ \/\___|_| |_|_| |_|\___/|___/ /___,' \___/ \__|_| |_|_|\___||___/
|
|
||||||
|
|
26
config/autostart/io.github.zen_browser.zen.desktop
Normal file
26
config/autostart/io.github.zen_browser.zen.desktop
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=Zen Browser
|
||||||
|
Exec=flatpak run --branch=stable --arch=x86_64 --command=launch-script.sh --file-forwarding io.github.zen_browser.zen @@u %u @@
|
||||||
|
Icon=io.github.zen_browser.zen
|
||||||
|
Type=Application
|
||||||
|
MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall;application/pdf;application/json;
|
||||||
|
StartupWMClass=zen-alpha
|
||||||
|
Categories=Network;WebBrowser;
|
||||||
|
StartupNotify=true
|
||||||
|
Terminal=false
|
||||||
|
X-MultipleArgs=false
|
||||||
|
Keywords=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Actions=new-window;new-private-window;profilemanager;
|
||||||
|
X-Flatpak=io.github.zen_browser.zen
|
||||||
|
|
||||||
|
[Desktop Action new-window]
|
||||||
|
Name=Open a New Window
|
||||||
|
Exec=flatpak run --branch=stable --arch=x86_64 --command=launch-script.sh --file-forwarding io.github.zen_browser.zen @@u %u @@
|
||||||
|
|
||||||
|
[Desktop Action new-private-window]
|
||||||
|
Name=Open a New Private Window
|
||||||
|
Exec=flatpak run --branch=stable --arch=x86_64 --command=launch-script.sh --file-forwarding io.github.zen_browser.zen --private-window @@u %u @@
|
||||||
|
|
||||||
|
[Desktop Action profilemanager]
|
||||||
|
Name=Open the Profile Manager
|
||||||
|
Exec=flatpak run --branch=stable --arch=x86_64 --command=launch-script.sh --file-forwarding io.github.zen_browser.zen --ProfileManager @@u %u @@
|
@ -1,10 +0,0 @@
|
|||||||
[Flatpak Ref]
|
|
||||||
Name=io.github.ungoogled_software.ungoogled_chromium
|
|
||||||
Branch=stable
|
|
||||||
Title=io.github.ungoogled_software.ungoogled_chromium from flathub
|
|
||||||
IsRuntime=false
|
|
||||||
Url=https://dl.flathub.org/repo/
|
|
||||||
SuggestRemoteName=flathub
|
|
||||||
GPGKey=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
|
|
||||||
RuntimeRepo=https://dl.flathub.org/repo/flathub.flatpakrepo
|
|
||||||
|
|
@ -85,6 +85,7 @@
|
|||||||
cowsay
|
cowsay
|
||||||
cmatrix
|
cmatrix
|
||||||
figlet
|
figlet
|
||||||
|
lolcat
|
||||||
|
|
||||||
# GUI Applications
|
# GUI Applications
|
||||||
## Utilities
|
## Utilities
|
||||||
|
@ -42,57 +42,16 @@
|
|||||||
LC_TIME = "nl_NL.UTF-8";
|
LC_TIME = "nl_NL.UTF-8";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable the X11 windowing system.
|
|
||||||
services.xserver.enable = true;
|
|
||||||
|
|
||||||
# Enable the GNOME Desktop Environment.
|
|
||||||
services.xserver.displayManager.gdm.enable = true;
|
|
||||||
services.xserver.desktopManager.gnome.enable = true;
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
tailscale
|
tailscale
|
||||||
pciutils
|
pciutils
|
||||||
gnome3.gnome-session
|
|
||||||
];
|
];
|
||||||
|
|
||||||
services.tailscale.enable = true;
|
services.tailscale.enable = true;
|
||||||
|
|
||||||
# Configure keymap in X11
|
|
||||||
services.xserver.xkb = {
|
|
||||||
layout = "us";
|
|
||||||
variant = "euro";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable sound with pipewire.
|
|
||||||
hardware.pulseaudio.enable = false;
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Allow unfree packages
|
# Allow unfree packages
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
# 1Password
|
|
||||||
programs._1password.enable = true;
|
|
||||||
programs._1password-gui = {
|
|
||||||
enable = true;
|
|
||||||
polkitPolicyOwners = [ "menno" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.etc = {
|
|
||||||
"1password/custom_allowed_browsers" = {
|
|
||||||
text = ''
|
|
||||||
firefox
|
|
||||||
brave
|
|
||||||
zen
|
|
||||||
'';
|
|
||||||
mode = "0755";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
# Enable the OpenSSH daemon.
|
||||||
# services.openssh = {
|
# services.openssh = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
./hardware/mennos-laptop.nix
|
./hardware/mennos-laptop.nix
|
||||||
|
./common/workstation.nix
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@ -20,6 +21,15 @@
|
|||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
./hardware/mennos-gamingpc.nix
|
./hardware/mennos-gamingpc.nix
|
||||||
|
./common/workstation.nix
|
||||||
|
./configuration.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"mennos-desktop" = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
./hardware/mennos-desktop.nix
|
||||||
|
./common/server.nix
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
4
config/nixos/hardware/common/server.nix
Normal file
4
config/nixos/hardware/common/server.nix
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
27
config/nixos/hardware/common/workstation.nix
Normal file
27
config/nixos/hardware/common/workstation.nix
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
# Enable the X11 windowing system.
|
||||||
|
services.xserver.enable = true;
|
||||||
|
|
||||||
|
# Enable the GNOME Desktop Environment.
|
||||||
|
services.xserver.displayManager.gdm.enable = true;
|
||||||
|
services.xserver.desktopManager.gnome.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [ gnome3.gnome-session ];
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
services.xserver.xkb = {
|
||||||
|
layout = "us";
|
||||||
|
variant = "euro";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
hardware.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
}
|
89
config/nixos/hardware/mennos-desktop.nix
Normal file
89
config/nixos/hardware/mennos-desktop.nix
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [
|
||||||
|
"nvme"
|
||||||
|
"xhci_pci"
|
||||||
|
"usbhid"
|
||||||
|
"usb_storage"
|
||||||
|
"sd_mod"
|
||||||
|
"amdgpu"
|
||||||
|
];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-uuid/1356cd09-5c55-45b5-8b06-6aadc84cee37";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.initrd.luks.devices."luks-32bf1c42-e6ef-4fb8-9b76-8bb13b9ea155".device = "/dev/disk/by-uuid/32bf1c42-e6ef-4fb8-9b76-8bb13b9ea155";
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/CD6B-8910";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [
|
||||||
|
"fmask=0077"
|
||||||
|
"dmask=0077"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# Enable OpenGL
|
||||||
|
hardware.opengl = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Load nvidia driver for Xorg and Wayland
|
||||||
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
|
||||||
|
hardware.nvidia = {
|
||||||
|
# Modesetting is required.
|
||||||
|
modesetting.enable = true;
|
||||||
|
|
||||||
|
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
||||||
|
# Enable this if you have graphical corruption issues or application crashes after waking
|
||||||
|
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
|
||||||
|
# of just the bare essentials.
|
||||||
|
powerManagement.enable = false;
|
||||||
|
|
||||||
|
# Fine-grained power management. Turns off GPU when not in use.
|
||||||
|
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
||||||
|
powerManagement.finegrained = false;
|
||||||
|
|
||||||
|
# Use the NVidia open source kernel module (not to be confused with the
|
||||||
|
# independent third-party "nouveau" open source driver).
|
||||||
|
# Support is limited to the Turing and later architectures. Full list of
|
||||||
|
# supported GPUs is at:
|
||||||
|
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||||
|
# Only available from driver 515.43.04+
|
||||||
|
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
||||||
|
open = false;
|
||||||
|
|
||||||
|
# Enable the Nvidia settings menu,
|
||||||
|
# accessible via `nvidia-settings`.
|
||||||
|
nvidiaSettings = true;
|
||||||
|
|
||||||
|
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||||
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
|
};
|
||||||
|
|
||||||
|
# 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.hostName = "mennos-desktop";
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
@ -69,8 +69,6 @@
|
|||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
networking.useDHCP = lib.mkDefault true;
|
networking.useDHCP = lib.mkDefault true;
|
||||||
networking.hostName = "mennos-gamingpc";
|
networking.hostName = "mennos-gamingpc";
|
||||||
# networking.interfaces.enp8s0.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.wlp15s0.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;
|
||||||
|
@ -83,8 +83,6 @@
|
|||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
networking.useDHCP = lib.mkDefault true;
|
networking.useDHCP = lib.mkDefault true;
|
||||||
networking.hostName = "mennos-laptop";
|
networking.hostName = "mennos-laptop";
|
||||||
# networking.interfaces.enp2s0.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;
|
||||||
|
20
config/nixos/packages/1password.nix
Normal file
20
config/nixos/packages/1password.nix
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
# 1Password
|
||||||
|
programs._1password.enable = true;
|
||||||
|
programs._1password-gui = {
|
||||||
|
enable = true;
|
||||||
|
polkitPolicyOwners = [ "menno" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.etc = {
|
||||||
|
"1password/custom_allowed_browsers" = {
|
||||||
|
text = ''
|
||||||
|
firefox
|
||||||
|
brave
|
||||||
|
zen
|
||||||
|
'';
|
||||||
|
mode = "0755";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -1,5 +1,7 @@
|
|||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./steam.nix
|
./steam.nix
|
||||||
|
./1password.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user