Compare commits

...

7 Commits

25 changed files with 390401 additions and 390237 deletions

10
.bashrc
View File

@@ -62,6 +62,16 @@ export PATH=$PATH:$HOME/dotfiles/bin
# Add flatpak to XDG_DATA_DIRS # Add flatpak to XDG_DATA_DIRS
export XDG_DATA_DIRS=$XDG_DATA_DIRS:/usr/share:/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share export XDG_DATA_DIRS=$XDG_DATA_DIRS:/usr/share:/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share
# Allow unfree nixos
export NIXPKGS_ALLOW_UNFREE=1
# Set DOTF_HOSTNAME to the hostname from .hostname file
# If this file doesn't exist, use mennos-unknown-hostname
export DOTF_HOSTNAME="mennos-unknown-hostname"
if [ -f $HOME/.hostname ]; then
export DOTF_HOSTNAME=$(cat $HOME/.hostname)
fi
# Tradaware / DiscountOffice Configuration # Tradaware / DiscountOffice Configuration
if [ -d "/home/menno/Projects/Work" ]; then if [ -d "/home/menno/Projects/Work" ]; then
export TRADAWARE_FROM_SOURCE=true export TRADAWARE_FROM_SOURCE=true

View File

@@ -104,7 +104,7 @@ sys_packages() {
brew cleanup brew cleanup
else else
if [ -x "$(command -v nixos-version)" ]; then if [ -x "$(command -v nixos-version)" ]; then
sudo nixos-rebuild switch cd $HOME/dotfiles/config/nixos && sudo nixos-rebuild switch --flake .#$DOTF_HOSTNAME
# Exit if this failed # Exit if this failed
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
@@ -211,7 +211,7 @@ git_repos() {
} }
homemanager() { homemanager() {
cd $HOME/dotfiles/config/home-manager && NIXPKGS_ALLOW_UNFREE=1 home-manager switch cd $HOME/dotfiles/config/home-manager && NIXPKGS_ALLOW_UNFREE=1 home-manager switch -b backup
} }
ensure_homemanager_installed() { ensure_homemanager_installed() {

View File

@@ -1,10 +1,30 @@
{ pkgs, ... }: { config, pkgs, ... }:
{ {
dconf = { dconf = {
enable = true; enable = true;
settings = { settings = {
# Set the color scheme to dark # Set the color scheme to dark
"org/gnome/desktop/interface".color-scheme = "prefer-dark"; "org/gnome/desktop/interface".color-scheme = "prefer-dark";
# Pinned apps
"org/gnome/shell" = {
favorite-apps = [
"io.github.zen_browser.zen.desktop"
"code.desktop"
"spotify.desktop"
"vesktop.desktop"
"kitty.desktop"
"org.gnome.Geary.desktop"
];
};
# Set wallpaper
"org/gnome/desktop/background" = {
picture-uri-dark = "file:///${config.home.homeDirectory}/dotfiles/secrets/wp/9.jpg";
picture-uri = "file:///${config.home.homeDirectory}/dotfiles/secrets/wp/9.jpg";
picture-options = "zoom";
primary-color = "#000000";
};
}; };
}; };

View File

@@ -22,6 +22,97 @@
home.homeDirectory = "/home/menno"; home.homeDirectory = "/home/menno";
home.stateVersion = "24.05"; home.stateVersion = "24.05";
# Default applications
xdg.mimeApps = {
enable = true;
defaultApplications = {
# Zen Browser
"application/xhtml+xml" = [ "io.github.zen_browser.zen.desktop" ];
"text/html" = [ "io.github.zen_browser.zen.desktop" ];
"x-scheme-handler/http" = [ "io.github.zen_browser.zen.desktop" ];
"x-scheme-handler/https" = [ "io.github.zen_browser.zen.desktop" ];
# Geary
"x-scheme-handler/mailto" = [ "org.gnome.Geary.desktop" ];
# Loupe (Image Viewer)
"image/jpeg" = [ "org.gnome.Loupe.desktop" ];
"image/png" = [ "org.gnome.Loupe.desktop" ];
"image/gif" = [ "org.gnome.Loupe.desktop" ];
"image/webp" = [ "org.gnome.Loupe.desktop" ];
"image/tiff" = [ "org.gnome.Loupe.desktop" ];
"image/x-tga" = [ "org.gnome.Loupe.desktop" ];
"image/vnd-ms.dds" = [ "org.gnome.Loupe.desktop" ];
"image/x-dds" = [ "org.gnome.Loupe.desktop" ];
"image/bmp" = [ "org.gnome.Loupe.desktop" ];
"image/vnd.microsoft.icon" = [ "org.gnome.Loupe.desktop" ];
"image/vnd.radiance" = [ "org.gnome.Loupe.desktop" ];
"image/x-exr" = [ "org.gnome.Loupe.desktop" ];
"image/x-portable-bitmap" = [ "org.gnome.Loupe.desktop" ];
"image/x-portable-graymap" = [ "org.gnome.Loupe.desktop" ];
"image/x-portable-pixmap" = [ "org.gnome.Loupe.desktop" ];
"image/x-portable-anymap" = [ "org.gnome.Loupe.desktop" ];
"image/x-qoi" = [ "org.gnome.Loupe.desktop" ];
"image/svg+xml" = [ "org.gnome.Loupe.desktop" ];
"image/svg+xml-compressed" = [ "org.gnome.Loupe.desktop" ];
"image/avif" = [ "org.gnome.Loupe.desktop" ];
"image/heic" = [ "org.gnome.Loupe.desktop" ];
"image/jxl" = [ "org.gnome.Loupe.desktop" ];
# VLC (Video Player)
"video/x-ogm+ogg" = [ "vlc.desktop" ];
"video/3gp" = [ "vlc.desktop" ];
"video/3gpp" = [ "vlc.desktop" ];
"video/3gpp2" = [ "vlc.desktop" ];
"video/dv" = [ "vlc.desktop" ];
"video/divx" = [ "vlc.desktop" ];
"video/fli" = [ "vlc.desktop" ];
"video/flv" = [ "vlc.desktop" ];
"video/mp2t" = [ "vlc.desktop" ];
"video/mp4" = [ "vlc.desktop" ];
"video/mp4v-es" = [ "vlc.desktop" ];
"video/mpeg" = [ "vlc.desktop" ];
"video/mpeg-system" = [ "vlc.desktop" ];
"video/msvideo" = [ "vlc.desktop" ];
"video/ogg" = [ "vlc.desktop" ];
"video/quicktime" = [ "vlc.desktop" ];
"video/vnd.divx" = [ "vlc.desktop" ];
"video/vnd.mpegurl" = [ "vlc.desktop" ];
"video/vnd.rn-realvideo" = [ "vlc.desktop" ];
"video/webm" = [ "vlc.desktop" ];
"video/x-anim" = [ "vlc.desktop" ];
"video/x-avi" = [ "vlc.desktop" ];
"video/x-flc" = [ "vlc.desktop" ];
"video/x-fli" = [ "vlc.desktop" ];
"video/x-flv" = [ "vlc.desktop" ];
"video/x-m4v" = [ "vlc.desktop" ];
"video/x-matroska" = [ "vlc.desktop" ];
"video/x-mpeg" = [ "vlc.desktop" ];
"video/x-mpeg2" = [ "vlc.desktop" ];
"video/x-ms-asf" = [ "vlc.desktop" ];
"video/x-ms-asf-plugin" = [ "vlc.desktop" ];
"video/x-ms-asx" = [ "vlc.desktop" ];
"video/x-msvideo" = [ "vlc.desktop" ];
"video/x-ms-wm" = [ "vlc.desktop" ];
"video/x-ms-wmv" = [ "vlc.desktop" ];
"video/x-ms-wmx" = [ "vlc.desktop" ];
"video/x-ms-wvx" = [ "vlc.desktop" ];
"video/x-nsv" = [ "vlc.desktop" ];
"video/x-theora" = [ "vlc.desktop" ];
"video/x-theora+ogg" = [ "vlc.desktop" ];
"video/x-ogm" = [ "vlc.desktop" ];
"video/avi" = [ "vlc.desktop" ];
"video/x-mpeg-system" = [ "vlc.desktop" ];
# Totem (for those few formats that default to it)
"video/vivo" = [ "org.gnome.Totem.desktop" ];
"video/vnd.vivo" = [ "org.gnome.Totem.desktop" ];
"video/x-flic" = [ "org.gnome.Totem.desktop" ];
"video/x-mjpeg" = [ "org.gnome.Totem.desktop" ];
"video/x-totem-stream" = [ "org.gnome.Totem.desktop" ];
};
};
home.sessionVariables = { home.sessionVariables = {
PATH = "${config.home.homeDirectory}/go/bin:$PATH"; PATH = "${config.home.homeDirectory}/go/bin:$PATH";
}; };

View File

@@ -105,6 +105,7 @@
## Multimedia ## Multimedia
spotify spotify
plex-media-player plex-media-player
vlc
## Astronomy ## Astronomy
stellarium stellarium

View File

@@ -4,7 +4,6 @@
# Include the results of the hardware scan. # Include the results of the hardware scan.
/etc/nixos/hardware-configuration.nix /etc/nixos/hardware-configuration.nix
./packages/default.nix ./packages/default.nix
./nvidia.nix
./virtualization.nix ./virtualization.nix
./users.nix ./users.nix
./flatpak.nix ./flatpak.nix

29
config/nixos/flake.nix Normal file
View File

@@ -0,0 +1,29 @@
{
description = "menno's dotfiles";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.05";
};
outputs =
{ self, nixpkgs }:
{
nixosConfigurations = {
"mennos-laptop" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
./nvidia.nix
{ networking.hostName = "mennos-laptop"; }
];
};
"mennos-gamingpc" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
{ networking.hostName = "mennos-desktop"; }
];
};
};
};
}

View File

@@ -1,9 +1,9 @@
-----BEGIN PGP MESSAGE----- -----BEGIN PGP MESSAGE-----
jA0ECQMIGkUSNyEsjuH/0sALAet9kS0xOgaXyqLfnzCwi64UL0JQ0v82P2Hjp8rr jA0ECQMIdzswSvGKIFj/0sAIAc0IMa6q0CiEqk/RjpEaea0RpVSxKL8v/E0HyqiC
VrbeXvStejlhL26UOpWclt/QMlMmIR4Rep10xir0VSqWMZHwpxLu16vOwK3zqFue nZBGvcaadZ+uQ/Ndxk3WfehTYuXWZk9gotfoQ91TrvMcCNt0ag6sMdVLHtEzoXWF
oU8OYWffDMZC8V6vEkkEUt49wjKYN1NSYuubg/pppO1p6uPkm5rEHH41PWmpuOCt 93wn4UDc9kv56mfU+JnSK5Rv6euXhZ8ZapEqFIvmh7kGkX/nwTJFNU/f6jz0yhaw
OcIm3HTQYprwqpYW5d55yZkd9qO8F+BZmFSxH1FZ+DDY+yM4piJSzYnmAm5HTs3j uu/pa9b9NFpIH7IoelJ2SzJMX3ZhX5aVcY0ojOEvlfRxOGdsOxUK2Ifd9MWV9Tyd
OyGWb01lCzPjcegZ2UG55P6RBK9iGPxKh322LFY= Sgsa3uFFcL4STwXNq6umwlfkk/SOqtq5WAA=
=K6/A =Zo/k
-----END PGP MESSAGE----- -----END PGP MESSAGE-----

View File

@@ -1,12 +1,12 @@
-----BEGIN PGP MESSAGE----- -----BEGIN PGP MESSAGE-----
jA0ECQMItoNYwTF6ZEr/0sCTAVkgeNCtPH223n04njPy1Dd4/XprIOp/rX6iv3rg jA0ECQMIJPtjJvUADyj/0sCQAUkXVqShmsjmP11kEL0ooHx94+JCEGWICJIuzRPc
EkS/WqVWo5NNkL2/H6QJUxlVqBGpUgZ+V2sPhcLVZFVA9ZcNvx8LGSRvgUwsaKe6 mjhdKO/lcmKotU2GCkx35ejWDuOp0bpCOoTzpbOYRxQEws4F0nuA56EB9Q+YsQd6
bDAMhqk+tySiGdZhBLUynqhUzM3SqYIRVaezcURYGqVAg6t14WmcyIj2SW8GNJ63 hr31hjIKYQO0vsyW1MItfj5nOKb3Vyars3WQm3zrdIsD/zAJol/Thfbln6j9Y8cc
fELLvRuvdZX7+XvEMlJSRMA28cWy6hHyIlVBo/bq9gpOSlRo8t3NTIPprLcGg9wC NcCe2hh0MpZWxpMufl7OEmQj+hp0sOIIEhco/TSnQsJjPHyOajjpbRtdyyI7kClD
xnTNRIOV4oLuM/0wnEn6ZHG6LdimHf2QDvF8q+lFo1dGlDUCdv/74cle42Jdki5G U1kBtue5Go5ZcclYvJIL7ZhbN3ncVDVYrjOP59fbmBIlYpscpGuuF62NX8MRmZEf
3FOTRNM/l76wiKNX90H8xy5G+ze6Yjzwp4bq8W5sERaYxpyqhWU5wEWtHx9nV32C RIvJgNlfAS9kn9eXTFpG35cjCZMjttRK8JKMrcBq9vdZLfi9ZHF0Lff3b22DfewU
ANUCv42ItywohMNfYtjWOEjt8S3aCt4gtVoBUofSPC4f/AvfELhobTd9LzLXGffm Nb6Hr5fybR6XogcmA+cEBwanZy2fxacZeUDZOihItmWUrHgG9THgUVZo5SBvXAnM
c6U+rjMDS9QaX6bdggkl9dWFP7Cb MZcpfbCfKTJGWpSY5dgVpNV4
=ehVH =LexE
-----END PGP MESSAGE----- -----END PGP MESSAGE-----

View File

@@ -1,11 +1,11 @@
-----BEGIN PGP MESSAGE----- -----BEGIN PGP MESSAGE-----
jA0ECQMIiJBBHrnxLgL/0sBlAQx6VUhb57TixN0GIfX3sxvAp3PxxUdEyx6R3B72 jA0ECQMIJX/hE+QfNpz/0sBiAfL+UCwD3Q6xmXtnWFfx2jaPVzJ0LsxWCirV4NBR
ItPYe8xCnf8OSS438TKaLQE/Xm6vptA2OeghI8I5HIYSuBuHVowHGnTPHR8nMMN/ XdIYJ+bHdCPB6kTTCxbtY/oDMdC2POpDTCrF1hz76Ca42lvTN2OLxPuOmZwhp+GL
NaNN5WlYOUWO3FBllyOh5FvG79Hsc2r9enPDw6hADy3fSX+IySmrz7f/IGW21BS8 fTYUaMcGcP5u6Lo3fHSeOo+EKLK9//S5HhKTn8ymJh+MllQbpBKBoO/GB+qOIcvh
3sDQDomLx+DYPU4+Qe54RHIyZxPdsqExcANEToYel4iHiW/uFWnOdor9NU634cEM esRPM1szohidAYhpAmmLw0m7+LRrC5MN0pbrG80D0kchkhl+XYIUX39eUymbuAgZ
gzbMgWfO5YYa6tRgItzlgSGq0sJp8SYDmpZ4jQnAZ+ZwongGXG3XMBIpsPyAioFE ZIdJQ4inS/cp8FKZO0JI4HD6fu9+UFMeJrpv61XvQ3C06urNexyjNLvpUM/up/Nz
DWtqIuybmXOybcU4qIrl4eHxJrQkXKMuY7R3Kux0Ie8PeTwdF1dhzxZVYs9NZiV6 xfCIiNTGvJY21kOAV3j9xtBz+ApZOgixzLr+QYHwJsKQPRlCRONhe+L8dpS6kIXm
WXlVJz1D95AH6et6XuVoKQEscEuH3Ok= R/HEujbrurgfxlfe/jUCc96yGLY=
=DT24 =dKuW
-----END PGP MESSAGE----- -----END PGP MESSAGE-----

View File

@@ -1,12 +1,11 @@
-----BEGIN PGP MESSAGE----- -----BEGIN PGP MESSAGE-----
jA0ECQMIOYEuPqJHDbL/0sCAAehDOUC0rY1ZOyrLVGQsNVZiRWHDpgYvwsnSt4Tf jA0ECQMI5QTAzMem3iX/0sB7Af9vzRP3ckaEbBXnuuDV2rySfPhVUIhWhCLrdDlF
/gjDi6mTw4usylH2AFQwYbcSIxgeJVdw4ia2fKZQnBEkKhWMwHO1FL3uUg2FJCec VPKF+LpsZtQ/YTMDUIs+LyY4+9WEAnA4BtvoKT0+dlG7KrkVZm0cdnuYPAjxUj/d
IvEZBfCxbcHx79T5hPQHHdE8eNPDqk2IIX9cxyhsgV6VsVYXpfInbv2Th5Jh4ZE1 UY6Oe+SxhWZ8REwee1bIezwOR1TDrCZ4Puqhzku6ldTCQ4TStm21yX6n0bC1sDZW
mum8yA075TiOckPsNrO7yAA9ncQYEiDb02VjkCEe3/xrNKrYR5mojRNOVDkISvfx crLZokGAnrdMurXNskjoCy7NKbA+qHPuX2dwjDLc5mM1nFUwSVcQKDGT2wa7oYgQ
aAGoGWloiZY301p3cnbNWZPrdWAKN+yK8EPKRH0iCqYEsEFDOO8UMhFUhkkzuqYl f/9BhI9TH/1uepyRErZq6J1DR0sc2q4ZEsMrIR7gqdGLlflFuZwZvmTrFybLEihV
Ap96gc7ChBlG7wdpzMgW3kFUlcPNXwDSpmHce70kL2s6KOHMTPqeW9hVpmnHyQnp U3G+09UM1utbGlgkex7yOTp0DZ9/UxYvVdunrvS4WLM29ULQe6oGt7coTD9MiCQe
yPcKXYV7hBg4eFE93k2bxXTHDupz8Y2sjMPGqftACaK/lzbwGs20VJ1NJpHnd0K8 2OvH/dvSNSgGcHvrYMEcORaLDtHJgYVvhY1CgYXrvthUsehAxBalSYKyFZfJ
wAw= =XWXt
=mlw+
-----END PGP MESSAGE----- -----END PGP MESSAGE-----

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
#!/bin/bash #!/usr/bin/env bash
# Check if nixos-version is available # Check if nixos-version is available
if [ -x "$(command -v nixos-version)" ]; then if [ -x "$(command -v nixos-version)" ]; then
@@ -9,24 +9,39 @@ else
sh <(curl -L https://nixos.org/nix/install) --daemon sh <(curl -L https://nixos.org/nix/install) --daemon
fi fi
# Check if sed is available # Check if home-manager is available
if [ ! -x "$(command -v sed)" ]; then if [ -x "$(command -v home-manager)" ]; then
echo "sed is not available, please manually source the following lines in your .bashrc:" echo "Detected Home Manager, did you setup everything already!?"
echo "export PATH=$PATH:$HOME/.local/bin" echo "You should only run ./setup.sh once, re-running this could do damage."
echo "export PATH=$PATH:~/dotfiles/bin" exit 0
return
fi fi
if [ ! -f ~/.bashrc ]; then # Link .bashrc
touch ~/.bashrc rm -rf $HOME/.bashrc
fi ln -s $HOME/dotfiles/.bashrc $HOME/.bashrc
sed -i -e '$a\'$'\n''export PATH=$PATH:$HOME/.local/bin' ~/.bashrc # Install home-manager
sed -i -e '$a\'$'\n''export PATH=$PATH:~/dotfiles/bin' ~/.bashrc sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-24.05.tar.gz home-manager
sudo nix-channel --update
sudo nix-shell '<home-manager>' -A install
nix-shell '<home-manager>' -A install
echo "#########################################################" # Link proper home-manager configs
echo "# #" rm -rf ~/.config/home-manager
echo "# !!! RESTART YOUR TERMINAL BEFORE YOU CONTINUE !!! #" ln -s $HOME/dotfiles/config/home-manager ~/.config/home-manager
echo "# !!! Continue with 'dotf update' !!! #"
echo "# #" # Link proper nixos configs
echo "#########################################################" sudo ln -s $HOME/dotfiles/config/nixos/configuration.nix /etc/nixos/configuration.nix
# Rebuild NixOS
sudo nixos-rebuild switch
# Rebuild Home Manager
cd $HOME/dotfiles/config/home-manager && NIXPKGS_ALLOW_UNFREE=1 home-manager switch
echo "##############################################################"
echo "# #"
echo "# !!! LOGOUT & LOGIN OR RESTART BEFORE YOU CONTINUE !!! #"
echo "# !!! Continue with 'dotf update' !!! #"
echo "# #"
echo "##############################################################"