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
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
if [ -d "/home/menno/Projects/Work" ]; then
export TRADAWARE_FROM_SOURCE=true

View File

@@ -104,7 +104,7 @@ sys_packages() {
brew cleanup
else
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
if [ $? -ne 0 ]; then
@@ -211,7 +211,7 @@ git_repos() {
}
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() {

View File

@@ -1,10 +1,30 @@
{ pkgs, ... }:
{ config, pkgs, ... }:
{
dconf = {
enable = true;
settings = {
# Set the color scheme to 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.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 = {
PATH = "${config.home.homeDirectory}/go/bin:$PATH";
};

View File

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

View File

@@ -4,7 +4,6 @@
# Include the results of the hardware scan.
/etc/nixos/hardware-configuration.nix
./packages/default.nix
./nvidia.nix
./virtualization.nix
./users.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-----
jA0ECQMIGkUSNyEsjuH/0sALAet9kS0xOgaXyqLfnzCwi64UL0JQ0v82P2Hjp8rr
VrbeXvStejlhL26UOpWclt/QMlMmIR4Rep10xir0VSqWMZHwpxLu16vOwK3zqFue
oU8OYWffDMZC8V6vEkkEUt49wjKYN1NSYuubg/pppO1p6uPkm5rEHH41PWmpuOCt
OcIm3HTQYprwqpYW5d55yZkd9qO8F+BZmFSxH1FZ+DDY+yM4piJSzYnmAm5HTs3j
OyGWb01lCzPjcegZ2UG55P6RBK9iGPxKh322LFY=
=K6/A
jA0ECQMIdzswSvGKIFj/0sAIAc0IMa6q0CiEqk/RjpEaea0RpVSxKL8v/E0HyqiC
nZBGvcaadZ+uQ/Ndxk3WfehTYuXWZk9gotfoQ91TrvMcCNt0ag6sMdVLHtEzoXWF
93wn4UDc9kv56mfU+JnSK5Rv6euXhZ8ZapEqFIvmh7kGkX/nwTJFNU/f6jz0yhaw
uu/pa9b9NFpIH7IoelJ2SzJMX3ZhX5aVcY0ojOEvlfRxOGdsOxUK2Ifd9MWV9Tyd
Sgsa3uFFcL4STwXNq6umwlfkk/SOqtq5WAA=
=Zo/k
-----END PGP MESSAGE-----

View File

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

View File

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

View File

@@ -1,12 +1,11 @@
-----BEGIN PGP MESSAGE-----
jA0ECQMIOYEuPqJHDbL/0sCAAehDOUC0rY1ZOyrLVGQsNVZiRWHDpgYvwsnSt4Tf
/gjDi6mTw4usylH2AFQwYbcSIxgeJVdw4ia2fKZQnBEkKhWMwHO1FL3uUg2FJCec
IvEZBfCxbcHx79T5hPQHHdE8eNPDqk2IIX9cxyhsgV6VsVYXpfInbv2Th5Jh4ZE1
mum8yA075TiOckPsNrO7yAA9ncQYEiDb02VjkCEe3/xrNKrYR5mojRNOVDkISvfx
aAGoGWloiZY301p3cnbNWZPrdWAKN+yK8EPKRH0iCqYEsEFDOO8UMhFUhkkzuqYl
Ap96gc7ChBlG7wdpzMgW3kFUlcPNXwDSpmHce70kL2s6KOHMTPqeW9hVpmnHyQnp
yPcKXYV7hBg4eFE93k2bxXTHDupz8Y2sjMPGqftACaK/lzbwGs20VJ1NJpHnd0K8
wAw=
=mlw+
jA0ECQMI5QTAzMem3iX/0sB7Af9vzRP3ckaEbBXnuuDV2rySfPhVUIhWhCLrdDlF
VPKF+LpsZtQ/YTMDUIs+LyY4+9WEAnA4BtvoKT0+dlG7KrkVZm0cdnuYPAjxUj/d
UY6Oe+SxhWZ8REwee1bIezwOR1TDrCZ4Puqhzku6ldTCQ4TStm21yX6n0bC1sDZW
crLZokGAnrdMurXNskjoCy7NKbA+qHPuX2dwjDLc5mM1nFUwSVcQKDGT2wa7oYgQ
f/9BhI9TH/1uepyRErZq6J1DR0sc2q4ZEsMrIR7gqdGLlflFuZwZvmTrFybLEihV
U3G+09UM1utbGlgkex7yOTp0DZ9/UxYvVdunrvS4WLM29ULQe6oGt7coTD9MiCQe
2OvH/dvSNSgGcHvrYMEcORaLDtHJgYVvhY1CgYXrvthUsehAxBalSYKyFZfJ
=XWXt
-----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
if [ -x "$(command -v nixos-version)" ]; then
@@ -9,24 +9,39 @@ else
sh <(curl -L https://nixos.org/nix/install) --daemon
fi
# Check if sed is available
if [ ! -x "$(command -v sed)" ]; then
echo "sed is not available, please manually source the following lines in your .bashrc:"
echo "export PATH=$PATH:$HOME/.local/bin"
echo "export PATH=$PATH:~/dotfiles/bin"
return
# Check if home-manager is available
if [ -x "$(command -v home-manager)" ]; then
echo "Detected Home Manager, did you setup everything already!?"
echo "You should only run ./setup.sh once, re-running this could do damage."
exit 0
fi
if [ ! -f ~/.bashrc ]; then
touch ~/.bashrc
fi
# Link .bashrc
rm -rf $HOME/.bashrc
ln -s $HOME/dotfiles/.bashrc $HOME/.bashrc
sed -i -e '$a\'$'\n''export PATH=$PATH:$HOME/.local/bin' ~/.bashrc
sed -i -e '$a\'$'\n''export PATH=$PATH:~/dotfiles/bin' ~/.bashrc
# Install home-manager
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 "#########################################################"
echo "# #"
echo "# !!! RESTART YOUR TERMINAL BEFORE YOU CONTINUE !!! #"
echo "# !!! Continue with 'dotf update' !!! #"
echo "# #"
echo "#########################################################"
# Link proper home-manager configs
rm -rf ~/.config/home-manager
ln -s $HOME/dotfiles/config/home-manager ~/.config/home-manager
# Link proper nixos configs
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 "##############################################################"