feat: init

This commit is contained in:
Nick 2025-03-29 23:08:26 -05:00
commit 96c6f790fc
804 changed files with 33411 additions and 0 deletions

137
profiles/user0/default.nix Executable file
View file

@ -0,0 +1,137 @@
{
config,
flake,
pkgs,
lib,
...
}:
let
inherit (flake) self;
inherit (flake.config.people) user0;
inherit (flake.config.machines) devices;
inherit (flake.config.people.users.${user0}) name paths;
hostname = config.networking.hostName;
in
{
users = {
users.${user0} = {
description = name;
name = user0;
isNormalUser = true;
shell = pkgs.nushell;
extraGroups = [
"adbusers"
"caddy"
"disk"
"jellyfin"
"libvirtd"
"minecraft"
"netdev"
"networkmanager"
"nextcloud"
"ollama"
"plugdev"
"postgres"
"redis-mastodon"
"samba"
"syncthing"
"vaultwarden"
"vboxusers"
"wheel"
];
};
};
home-manager.users = {
${user0} = {
home = {
username = user0;
homeDirectory = "/home/${user0}";
file = {
"./justfile" = {
text = ''
vpn:
sudo protonvpn c --c CA
vpnoff:
sudo protonvpn d
rebuild:
nixos-rebuild switch --use-remote-sudo --flake ~/Files/Projects/dotfiles#${hostname} --show-trace
elm:
cd ~/Files/Projects/website/frontend ; elm-land server
server:
ssh ${devices.ceres.ip.address0}
'';
};
"./Files/Scripts/list.sh" = {
source = ./files/list.sh;
executable = true;
};
"./Files/Scripts/loop.sh" = {
source = ./files/loop.sh;
executable = true;
};
"./.config/scripts/get_weather.sh" = {
source = ./files/get_weather.sh;
executable = true;
};
".config/wallpaper" = {
source = ./files/wallpaper;
recursive = true;
};
"./.config/vesktop/themes/macchiato-theme.css" = {
source = ./files/themes/vesktop/macchiato-theme.css;
};
"./.config/qBittorrent/themes/catppuccin-mocha.qbtheme" = {
source = ./files/themes/qbittorrent/macchiato.qbtheme;
};
};
sessionVariables = {
VISUAL = lib.getExe pkgs.zed-editor;
GTK_THEME = "catppuccin-macchiato-mauve-compact";
};
};
imports = [
{
home.stateVersion = config.system.stateVersion;
}
{
imports = [
self.homeModules."${devices.${hostname}.name}-${user0}"
];
}
];
};
};
systemd.tmpfiles = {
rules =
[
"d ${paths.path0} 0755 ${user0} users -"
]
++ (map (path: "d /home/${user0}/${path} 0755 ${user0} users -") [
"Downloads/Nicotine"
"Downloads/Nicotine/Downloads"
"Downloads/Nicotine/Incomplete"
"Downloads/Nicotine/Received"
"Downloads/Qbittorent"
"Downloads/Qbittorent/Movies"
"Downloads/Qbittorent/Music"
"Downloads/Qbittorent/Shows"
"Files"
"Files/Scripts"
"Files/Games"
"Files/Screenshots"
])
++ (map (path: "R /home/${user0}/${path} 0755 ${user0} users - -") [
"Desktop"
"Documents"
"Music"
"Pictures"
"Public"
"Templates"
"Videos"
]);
};
}

View file

@ -0,0 +1,19 @@
#!/usr/bin/env bash
for i in {1..5}
do
text=$(curl -s "https://wttr.in/$1?format=1")
if [[ $? == 0 ]]
then
text=$(echo "$text" | sed -E "s/\s+/ /g")
tooltip=$(curl -s "https://wttr.in/$1?format=4")
if [[ $? == 0 ]]
then
tooltip=$(echo "$tooltip" | sed -E "s/\s+/ /g")
echo "{\"text\":\"$text\", \"tooltip\":\"$tooltip\"}"
exit
fi
fi
sleep 2
done
echo "{\"text\":\"error\", \"tooltip\":\"error\"}"

27
profiles/user0/files/list.sh Executable file
View file

@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Function to list directories recursively and sort them alphabetically
list_directories() {
local parent_dir=$1
local output_file=$2
# Clear the output file if it exists
> "$output_file"
# Recursively find and list directories, then sort them and write to the output file
while IFS= read -r dir; do
echo "$dir" >> "$output_file"
done < <(find "$parent_dir" -type d | sort)
}
# Main script execution
if [ $# -eq 0 ]; then
echo "Usage: $0 parent_directory"
exit 1
fi
parent_directory=$1
output_file="nested_directories.txt"
list_directories "$parent_directory" "$output_file"
echo "Directory paths have been written to $output_file"

3
profiles/user0/files/loop.sh Executable file
View file

@ -0,0 +1,3 @@
#!/usr/bin/env bash
while true ; do date ; natpmpc -a 1 0 udp 60 -g 10.2.0.1 && natpmpc -a 1 0 tcp 60 -g 10.2.0.1 || { echo -e "ERROR with natpmpc command \a" ; break ; } ; sleep 45 ; done

9
profiles/user0/files/modnix.sh Executable file
View file

@ -0,0 +1,9 @@
#!/usr/bin/env bash
cp /etc/nixos/configuration.nix /etc/nixos/configuration.nix.backup
sed -i '/services\.printing\.enable = true;/a\ nix.settings.experimental-features = ["nix-command" "flakes"];\n services.openssh.enable = true;' /etc/nixos/configuration.nix
sed -i '/thunderbird/a\ git\n vscode\n tomb' /etc/nixos/configuration.nix
swapoff -a
echo "/etc/nixos/configuration.nix updated successfully."

View file

@ -0,0 +1,11 @@
#!/usr/bin/env bash
mkdir -p /var/lib/sops-nix
mkdir -p /home/nick/.config/sops/age
cp /run/media/nick/crypt/key.txt /home/nick/.config/sops/age/keys.txt
cp /run/media/nick/crypt/key.txt /var/lib/sops-nix/key.txt
swapon -a
echo "SOPS keys transferred successfully."

Binary file not shown.

View file

@ -0,0 +1 @@
@import url("https://catppuccin.github.io/discord/dist/catppuccin-macchiato.theme.css");

Binary file not shown.

After

Width:  |  Height:  |  Size: 772 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 886 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 808 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 632 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 833 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 501 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 646 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 552 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 747 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 665 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 869 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 457 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 876 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 787 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

64
profiles/user1/default.nix Executable file
View file

@ -0,0 +1,64 @@
{
config,
flake,
pkgs,
...
}:
let
inherit (flake) self;
inherit (flake.config.people) user1;
inherit (flake.config.machines) devices;
inherit (flake.config.people.users.${user1}) name;
hostname = config.networking.hostName;
in
{
users = {
users.${user1} = {
description = name;
name = user1;
isNormalUser = true;
shell = pkgs.nushell;
extraGroups = [
"libvirtd"
"disk"
"networkmanager"
"vboxusers"
"wheel"
"adbusers"
"netdev"
];
};
};
home-manager.users = {
${user1} = {
home = {
username = user1;
homeDirectory = "/home/${user1}";
file = {
"./justfile" = {
source = ./files/justfile;
};
"./.config/scripts/get_weather.sh" = {
source = ./files/get_weather.sh;
executable = true;
};
".config/wallpaper" = {
source = ./files/wallpaper;
recursive = true;
};
};
sessionVariables = { };
};
imports = [
{
home.stateVersion = config.system.stateVersion;
}
{
imports = [
self.homeModules."${devices.${hostname}.name}-${user1}"
];
}
];
};
};
}

View file

@ -0,0 +1,19 @@
#!/usr/bin/env bash
for i in {1..5}
do
text=$(curl -s "https://wttr.in/$1?format=1")
if [[ $? == 0 ]]
then
text=$(echo "$text" | sed -E "s/\s+/ /g")
tooltip=$(curl -s "https://wttr.in/$1?format=4")
if [[ $? == 0 ]]
then
tooltip=$(echo "$tooltip" | sed -E "s/\s+/ /g")
echo "{\"text\":\"$text\", \"tooltip\":\"$tooltip\"}"
exit
fi
fi
sleep 2
done
echo "{\"text\":\"error\", \"tooltip\":\"error\"}"

14
profiles/user1/files/justfile Executable file
View file

@ -0,0 +1,14 @@
ewwEdit:
eww --config /home/nick/dotfiles/home-manager/modules/eww/config/ open centerPanel
ewwLaunch:
./home/nick/dotfiles/home-manager/modules/eww/config/scripts/master.sh
gobrrr:
home-manager switch --flake ~/dotfiles#desktop
gobrrrl:
nixos-rebuild switch --use-remote-sudo --flake /home/nick/dotfiles#desktop
fuckoff:
shutdown now

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 KiB

89
profiles/user2/default.nix Executable file
View file

@ -0,0 +1,89 @@
{
config,
flake,
pkgs,
...
}:
let
inherit (flake) self;
inherit (flake.config.people) user2;
inherit (flake.config.machines) devices;
inherit (flake.config.people.users.${user2}) name paths;
hostname = config.networking.hostName;
in
{
users = {
users.${user2} = {
description = name;
name = user2;
isNormalUser = true;
shell = pkgs.nushell;
extraGroups = [
"adbusers"
"disk"
"libvirtd"
"minecraft"
"netdev"
"networkmanager"
"ollama"
"syncthing"
"vboxusers"
"wheel"
];
};
};
home-manager.users = {
${user2} = {
home = {
username = user2;
homeDirectory = "/home/${user2}";
file = {
"./justfile" = {
source = ./files/justfile;
};
};
sessionVariables = {
WLR_NO_HARDWARE_CURSORS = "1";
WLR_DRM_NO_ATOMIC = "1";
VIDEO_PLAYER = "vlc";
EDITOR = "vscode";
NIXPKGS_ALLOW_INSECURE = "1";
};
};
imports = [
{
home.stateVersion = config.system.stateVersion;
}
{
imports = [
self.homeModules."${devices.${hostname}.name}-${user2}"
];
}
];
};
};
systemd.tmpfiles =
let
directoriesAddedToHome = [
"Projects"
];
directoriesRemovedFromHome = [
"Music"
"Public"
"Templates"
];
in
{
rules =
[
"d ${paths.path0}/Projects 0755 ${user2} users -"
"Z ${paths.path0}/.ssh 700 ${user2} users -"
]
++ (map (path: "d /home/${user2}/${path} 0755 ${user2} users -") directoriesAddedToHome)
++ (map (path: "R /home/${user2}/${path} 0755 ${user2} users - -") directoriesRemovedFromHome);
};
}

View file

@ -0,0 +1,266 @@
/**
* Decrease size of the sidebar header
*/
*, html, body, html body, :root, #sidebar, #sidebar-box, .sidebar-panel, #root.root, #PlacesToolbarItems .bookmark-item, #PlacesToolbarItems .tab-item, .sidebar-placesTreechildren::-moz-tree-cell-text, .sidebar-placesTreechildren, .form-control {
font: 7pt "Lucida Sans", Classica !important;
outline: 0px !important;
border: 0px !important;
}
html, body, :root, #sidebar, #sidebar-box, .sidebar-panel, #root.root, #PlacesToolbarItems.bookmark-item, #PlacesToolbarItems.tab-item, .titlebar, .toolbar, #PlacesToolbar, #personal-bookmarks, #bookmarks-toolbar-button, #navigator-toolbox, #nav-bar, #library {
background-color: #1a1920 !important;
outline: 0px !important;
border: 0px !important;
}
@-moz-document url-prefix("moz-extension://4bfeee63-c7b3-4bb9-a7df-a2c0fd73eec0") {
*, html, body, html body, #root, :root, .Tab .title, .main-items .nav-item .len {
font-size: 7pt !important;
font-family: "Lucida Sans", "Classica" !important;
--tabs-font: 7pt "Lucida Sans", "Classica" !important;
background-color: #1a1920 !important;
outline: 0px !important;
border: 0px !important;
}
}
/* extension icons opacity and fade */
#nav-bar toolbarbutton {
filter: grayscale(100%) !important;
opacity: 0.3 !important;
transition: transform 200ms ease 0.5s, opacity 200ms ease 0.5s !important;
}
#nav-bar toolbarbutton:hover {
filter: grayscale(0%) !important;
opacity: 1 !important;
transition-duration: 200ms !important;
transition-delay: 0s !important;
}
#sidebar-header toolbarbutton {
filter: grayscale(100%) !important;
opacity: 0 !important;
transition: transform 200ms ease 0.5s, opacity 200ms ease 0.5s !important;
min-width:150px !important;
align: center !important;
}
#sidebar-header toolbarbutton:hover {
filter: grayscale(0%) !important;
opacity: 1 !important;
transition-duration: 200ms !important;
transition-delay: 0s !important;
min-width:150px !important;
align: center !important;
}
.close-icon {width:0px !important;}
/* --- */
/* hide address bar bloat */
#tracking-protection-icon-container { display: none; }
#identity-box { display: none; }
#reader-mode-button { display: none; }
#pageActionButton { display: none; }
#pocket-button { display: none; }
#star-button { display: none; }
#urlbar-zoom-button { display: none; }
/* --- */
/* Go to arrow button at the end of the urlbar when searching */
#urlbar-go-button { display: none; }
/* Bottom left page loading status or url preview */
/* #statuspanel { display: none !important; } */
/* hide address bar*/
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/autohide_main_toolbar.css made available under Mozilla Public License v. 2.0
S ee the above repository for updates as well as full license text. */ *
/* This style hides the main toolbar and shows it when the cursor is over the tabs toolbar as well as whenever the focus is inside nav-bar, such as when urlbar is focused. */
:root{ --uc-navbar-transform: -40px }
:root[uidensity="compact"]{ --uc-navbar-transform: -4px }
#navigator-toolbox > div{ display: contents; }
:root[sessionrestored] :where(#nav-bar,#PersonalToolbar,#tab-notification-deck,.global-notificationbox){
transform: translateY(var(--uc-navbar-transform))
}
:root:is([customizing],[chromehidden*="toolbar"]) :where(#nav-bar,#PersonalToolbar,#tab-notification-deck,.global-notificationbox){
transform: none !important;
opacity: 1 !important;
}
#nav-bar, #nav-bar-customization-target {
height: 30px !important;
}
#nav-bar-content, #nav-bar-content {
height: 20px !important;
margin-top: 4px !important;
}
#urlbar {
width: 300px !important;
padding-left: 10px !important;
padding-right: -10px !important;
left: -50px !important;
}
#nav-bar:not([customizing]){
opacity: 0;
transition: transform 400ms ease 1.5s, opacity 400ms ease 1.5s !important;
position: relative;
z-index: 2;
}
#titlebar{ position: relative; z-index: 3 }
/* Show when toolbox is focused, like when urlbar has received focus */
#navigator-toolbox:focus-within > .browser-toolbar{
transform: translateY(0);
opacity: 1;
transition-duration: 500ms, 200ms !important;
transition-delay: 0s !important;
}
/* Show when toolbox is hovered */
#titlebar:hover ~ .browser-toolbar,
#nav-bar:hover,
#nav-bar:hover + #PersonalToolbar{
transform: translateY(0);
opacity: 1;
transition-duration: 500ms, 200ms !important;
transition-delay: 0s !important;
}
/* This ruleset is separate, because not having :has support breaks other selectors as well */
#mainPopupSet:has(> #appMenu-popup:hover) ~ #navigator-toolbox > .browser-toolbar{
transition-delay: 33ms !important;
transform: translateY(0);
opacity: 1;
background-color: #1a1920 !important;
}
/* Bookmarks toolbar needs so extra rules */
#PersonalToolbar{ transition: transform 400ms ease 1.5s !important; position: relative; z-index: 1; background-color: #1a1920 !important; }
/* Move up the content view */
:root[sessionrestored]:not([inFullscreen],[chromehidden~="toolbar"]) > body > #browser{ margin-top: var(--uc-navbar-transform); }
/* --- end hide --- */
#sidebar-header {color: #1a1920 !important;
font-size: 1.2em !important;
font-family: "Dumbledor 3", Times New Roman !important;
padding: 2px 6px 2px 3px !important;
}
#sidebar-header #sidebar-close {
padding: 3px !important;
}
#sidebar-header #sidebar-close .toolbarbutton-icon {
width: 0px !important;
height: 0px !important;
opacity: 0.6 !important;
}
#TabsToolbar {
font-size: 0.8em !important;
font-family: "Troglodyte" !important;
display: none;
}
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/autohide_sidebar.css made available under Mozilla Public License v. 2.0
*See the above repository for updates as well as full license text. */
/* Show sidebar only when the cursor is over it */
/* The border controlling sidebar width will be removed so you'll need to modify these values to change width */
#sidebar-box{
--uc-sidebar-width: 30px;
--uc-sidebar-hover-width: 180px;
--uc-autohide-sidebar-delay: 600ms; /* Wait 0.6s before hiding sidebar */
--uc-autohide-transition-duration: 115ms;
--uc-autohide-transition-type: linear;
position: relative;
min-width: var(--uc-sidebar-width) !important;
width: var(--uc-sidebar-width) !important;
max-width: var(--uc-sidebar-width) !important;
z-index:1;
}
#sidebar-box[positionend]{ direction: rtl }
#sidebar-box[positionend] > *{ direction: ltr }
#sidebar-box[positionend]:-moz-locale-dir(rtl){ direction: ltr }
#sidebar-box[positionend]:-moz-locale-dir(rtl) > *{ direction: rtl }
#main-window[sizemode="fullscreen"] #sidebar-box{ --uc-sidebar-width: 1px; }
#sidebar-splitter{ display: none }
#sidebar-header{
overflow: hidden;
color: var(--chrome-color, inherit) !important;
padding-inline: 0 !important;
}
#sidebar-header::before,
#sidebar-header::after{
content: "";
display: flex;
padding-left: 8px;
}
#sidebar-header,
#sidebar{
transition: min-width var(--uc-autohide-transition-duration) var(--uc-autohide-transition-type) var(--uc-autohide-sidebar-delay) !important;
min-width: var(--uc-sidebar-width) !important;
will-change: min-width;
}
#sidebar-box:hover > #sidebar-header,
#sidebar-box:hover > #sidebar{
min-width: var(--uc-sidebar-hover-width) !important;
transition-delay: 0ms !important;
}
.sidebar-panel{
background-color: transparent !important;
color: var(--newtab-text-primary-color) !important;
}
.sidebar-panel #search-box{
-moz-appearance: none !important;
background-color: rgba(249,249,250,0.1) !important;
color: inherit !important;
}
/* Add sidebar divider and give it background */
#sidebar,
#sidebar-header{
background-color: inherit !important;
border-inline: 1px solid rgb(80,80,80);
border-inline-width: 0px 1px;
}
#sidebar-box:not([positionend]) > :-moz-locale-dir(rtl),
#sidebar-box[positionend] > *{
border-inline-width: 1px 0px;
}
/* Move statuspanel to the other side when sidebar is hovered so it doesn't get covered by sidebar */
#sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel{
inset-inline: auto 0px !important;
}
#sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel-label{
margin-inline: 0px !important;
border-left-style: solid !important;
}

View file

@ -0,0 +1,126 @@
/* home page edits */
@-moz-document url("about:home"), url("about:newtab"){
html, body, #root, input {
background-color: #1a1920 !important;
}
* { /* this is where I enforce the font everywhere */
font-size: 8pt !important;
font-family: "Lucida Grande", "Classica" !important;
line-height: 9pt !important;
} /* so that my sidebar tabs aren't fucking HUGE */
.collapsible-section.ds-layout {
max-height: 400px !important;
background-color: #000 !important;
}
.search-wrapper {
filter: grayscale(80%) !important;
opacity: 0 !important;
vertical-align: middle !important;
}
.personalizeButtonWrapper {
opacity: 0.2 !important;
transition: transform 200ms ease 0.5s, opacity 200ms ease 0.5s !important;
}
.personalizeButtonWrapper:hover {
opacity: 0.7 !important;
transition-duration: 200ms !important;
transition-delay: 0s !important;
}
.search-inner-wrapper { /* begone THOT */
display:none !important;
width: 300px !important;
min-height: 30px !important;
--newtab-search-icon: 0 !important;
}
.body-wrapper {margin-top: -200px;}
.context-menu-button { /* the button that has the menu to edit your shortcuts */
margin-right: 10px !important; margin-top: 0px !important; opacity: 0 !important;
background-color: transparent !important;
}
.context-menu-button:hover {opacity: 0.7 !important;}
.top-site-outer, .top-site-inner {
margin-block-end: 0px !important;
background-color: transparent !important;
}
.top-site-outer:hover {
background-color: transparent !important;
}
.top-site-button {padding: 0px !important; background-color:transparent !important;}
.tile { /* here be buttons */
filter: grayscale(100%) !important;
background-color: transparent !important;
border: 0px !important;
opacity: 0.1 !important;
transition: 50ms ease 0.4s !important;
vertical-align: middle !important;
}
.tile:hover {
filter: grayscale(50%) !important;
opacity: 0.7 !important;
transition: 50ms ease 0.2s !important;
}
.icon-wrapper {
background-color: transparent !important;
border: 0px !important;
}
.top-site-button .top-site-icon{
background-color: transparent !important;
background-size: contain !important;
background-repeat: no-repeat !important;
background-position: center !important;
padding: 0px !important;
border-radius: 0px !important;
}
/* custom icons so I can have custom+transparency on Home and New Tab pages */
.top-site-button[href="http://deck.blue"] .top-site-icon{
background-image: url("https://i.imgur.com/Z8IrhAY.png") !important;
}
.top-site-button[href="http://new.reddit.com"] .top-site-icon{
background-image: url("https://i.imgur.com/3QIQIeD.png") !important;
}
.top-site-button[href="http://gaiaonline.com"] .top-site-icon{
background-image: url("https://i.imgur.com/Vp7urqM.png") !important;
}
.top-site-button[href="http://orcanetwork.org"] .top-site-icon{
background-image: url("https://i.imgur.com/hvKM68l.png") !important;
}
.top-site-button[href="http://whaleresearch.com"] .top-site-icon{
background-image: url("https://i.imgur.com/uuBDA57.png") !important;
}
.top-site-button[href="http://whale-of-a-porpoise.blogspot.ca"] .top-site-icon{
background-image: url("https://i.imgur.com/qm2BYfR.png") !important;
}
/* !!! icon alignment and size fix !!! */
.icon.icon-pin-small {
width: 0px !important;
}
.top-site-outer .title {
padding-top: 0px !important;
}
.top-site-outer {
margin-block-end: unset !important;
}
.top-site-outer .title span {
visibility: hidden !important;
}
.top-site-outer .title:not(.sponsored) .sponsored-label {
height: 0px !important;
}
.top-site-outer .context-menu-button:hover {
background-color: unset !important;
}
.top-site-outer .context-menu-button {
transition: none !important;
background-color: unset !important;
top: 0px !important;
}
.top-site-outer .default-icon {width:48px !important; height:48px !important;}
}
/* --- home page edits end --- */

6
profiles/user2/files/justfile Executable file
View file

@ -0,0 +1,6 @@
gobrr:
nixos-rebuild switch --use-remote-sudo --flake ~/Projects/dotfiles#desktop
fuckoff:
shutdown now

3
profiles/user2/files/loop.sh Executable file
View file

@ -0,0 +1,3 @@
#!/usr/bin/env bash
while true ; do date ; natpmpc -a 1 0 udp 60 -g 10.2.0.1 && natpmpc -a 1 0 tcp 60 -g 10.2.0.1 || { echo -e "ERROR with natpmpc command \a" ; break ; } ; sleep 45 ; done

8
profiles/user2/files/modnix.sh Executable file
View file

@ -0,0 +1,8 @@
#!/usr/bin/env bash
cp /etc/nixos/configuration.nix /etc/nixos/configuration.nix.backup
sed -i '/services\.printing\.enable = true;/a\ nix.settings.experimental-features = ["nix-command" "flakes"];\n services.openssh.enable = true;' /etc/nixos/configuration.nix
sed -i '/thunderbird/a\ git\n vscode\n tomb' /etc/nixos/configuration.nix
echo "/etc/nixos/configuration.nix updated successfully."

91
profiles/user3/default.nix Executable file
View file

@ -0,0 +1,91 @@
{
config,
flake,
pkgs,
lib,
...
}:
let
inherit (flake) self;
inherit (flake.config.people) user3;
inherit (flake.config.machines) devices;
inherit (flake.config.people.users.${user3}) name paths;
hostname = config.networking.hostName;
in
{
users = {
users.${user3} = {
description = name;
name = user3;
isNormalUser = true;
shell = pkgs.nushell;
extraGroups = [
"adbusers"
"disk"
"libvirtd"
"netdev"
"networkmanager"
"plugdev"
"samba"
"vboxusers"
"wheel"
];
};
};
home-manager.users = {
${user3} = {
home = {
username = user3;
homeDirectory = "/home/${user3}";
file = {
"./.config/scripts/get_weather.sh" = {
source = ./files/get_weather.sh;
executable = true;
};
".config/wallpaper" = {
source = ./files/wallpaper;
recursive = true;
};
"./.config/vesktop/themes/macchiato-theme.css" = {
source = ./files/themes/vesktop/macchiato-theme.css;
};
};
sessionVariables = {
VISUAL = lib.getExe pkgs.zed-editor;
GTK_THEME = "catppuccin-macchiato-mauve-compact";
};
};
imports = [
{
home.stateVersion = config.system.stateVersion;
}
{
imports = [
self.homeModules."${devices.${hostname}.name}-${user3}"
];
}
];
};
};
systemd.tmpfiles = {
rules =
[
"d ${paths.path0} 0755 ${user3} users -"
]
++ (map (path: "d /home/${user3}/${path} 0755 ${user3} users -") [
"Files"
"Files/Scripts"
"Files/Games"
"Files/Screenshots"
])
++ (map (path: "R /home/${user3}/${path} 0755 ${user3} users - -") [
"Desktop"
"Documents"
"Music"
"Pictures"
"Public"
"Templates"
"Videos"
]);
};
}

View file

@ -0,0 +1,19 @@
#!/usr/bin/env bash
for i in {1..5}
do
text=$(curl -s "https://wttr.in/$1?format=1")
if [[ $? == 0 ]]
then
text=$(echo "$text" | sed -E "s/\s+/ /g")
tooltip=$(curl -s "https://wttr.in/$1?format=4")
if [[ $? == 0 ]]
then
tooltip=$(echo "$tooltip" | sed -E "s/\s+/ /g")
echo "{\"text\":\"$text\", \"tooltip\":\"$tooltip\"}"
exit
fi
fi
sleep 2
done
echo "{\"text\":\"error\", \"tooltip\":\"error\"}"

View file

@ -0,0 +1 @@
@import url("https://catppuccin.github.io/discord/dist/catppuccin-macchiato.theme.css");

Binary file not shown.

After

Width:  |  Height:  |  Size: 772 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 886 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 808 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 632 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 833 KiB

Some files were not shown because too many files have changed in this diff Show more