Merge remote-tracking branch 'origin/main' into thinkpad

This commit is contained in:
2025-03-03 21:52:34 +01:00
20 changed files with 414 additions and 52 deletions

View File

@ -28,6 +28,7 @@ in
./hyprland
./spicetify.nix # TODO env conflict on latest version
./yazi
./zen
];
dconf = {

View File

@ -1,23 +1,33 @@
{ pkgs, ... }:
{
programs.git = {
enable = true;
userName = "Martin Berg Alstad";
userEmail = "git@martials.no";
home.packages = with pkgs; [ git-crypt ];
aliases = {
amend = "commit --amend";
cm = "commit";
s = "status";
};
programs.git =
let
package = pkgs.git.override { withLibsecret = true; };
in
{
enable = true;
package = package;
userName = "Martin Berg Alstad";
userEmail = "git@martials.no";
signing = {
signByDefault = true;
key = "848D71DE0590C199";
};
aliases = {
amend = "commit --amend";
cm = "commit";
s = "status";
};
extraConfig = {
push.autoSetupRemote = true;
safe.directory = "/etc/nixos";
signing = {
signByDefault = true;
key = "848D71DE0590C199";
};
extraConfig = {
push.autoSetupRemote = true;
safe.directory = "/etc/nixos";
credential.helper = "${package}/bin/git-credential-libsecret";
};
};
};
}

View File

@ -20,10 +20,25 @@
fontSize = 14;
in
{
assistant = {
default_model = {
provider = "ollama";
model = "deepseek-r1:8b";
};
version = "2";
};
autosave = "on_focus_change";
base_keymap = "JetBrains";
buffer_font_family = font;
icon-theme = "Catppuccin Mocha"; # TODO doesn't work?
features = {
inline_completion_provider = "zed";
};
icon_theme = "Catppuccin Mocha";
# icon_theme = { TODO replace icon theme above with below
# mode = theme.mode;
# light = "Catppuccin Mocha";
# dark = "Catppuccin Mocha";
# };
ui_font_family = font;
ui_font_size = fontSize;
buffer_font_size = fontSize;

View File

@ -20,7 +20,7 @@ in
# Start starship when creating a new shell
interactiveShellInit = ''
starship init fish | source
fortune | cowsay -f tux
${pkgs.fortune}/bin/fortune | ${pkgs.cowsay}/bin/cowsay -f tux
'';
plugins = [
{

View File

@ -1,8 +1,11 @@
{ pkgs, ... }:
{
catppuccin.freetube.enable = true;
programs.freetube = {
enable = true;
package = pkgs.unstable.freetube;
settings = {
allowDashAv1Formats = true;
checkForUpdates = false;

View File

@ -7,6 +7,7 @@ in
wayland.windowManager.hyprland.settings = {
"$mainMod" = "SUPER";
"$shiftMod" = "$mainMod SHIFT";
"$ctrlMod" = "$mainMod CTRL";
"$menu" = "rofi -show drun";
bind = [
@ -29,6 +30,12 @@ in
"$mainMod, up, movefocus, u"
"$mainMod, down, movefocus, d"
# Move window with ctrl + mainMod + arrow keys
"$ctrlMod, left, movewindow, l"
"$ctrlMod, right, movewindow, r"
"$ctrlMod, up, movewindow, u"
"$ctrlMod, down, movewindow, d"
# Switch workspaces with mainMod + [0-9]
"$mainMod, 1, workspace, 1"
"$mainMod, 2, workspace, 2"

View File

@ -1,7 +1,13 @@
{ pkgs, inputs, ... }:
{
pkgs,
inputs,
lib,
...
}:
let
common = import ../../../common.nix;
theme = import ../../../theme.nix;
loader = import ../../secretsLoader.nix lib;
in
{
imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ];
@ -75,7 +81,8 @@ in
};
weather = {
unit = "metric";
location = "Bergen, Norway"; # TODO not working
location = "Bergen, Norway";
key = loader.loadSecret ../../secrets/weather-api-key;
};
};
@ -110,7 +117,7 @@ in
};
};
wallpaper.enable = true;
wallpaper.enable = false;
};
};
}

Binary file not shown.

View File

@ -0,0 +1,6 @@
lib:
{
loadSecret =
filePath: lib.strings.trim (lib.strings.removeSuffix "\n" (builtins.readFile filePath));
}

View File

@ -0,0 +1,113 @@
/* Catppuccin Mocha Blue userChrome.css*/
@media (prefers-color-scheme: dark) {
:root {
--zen-colors-primary: #313244 !important;
--zen-primary-color: #89b4fa !important;
--zen-colors-secondary: #313244 !important;
--zen-colors-tertiary: #181825 !important;
--zen-colors-border: #89b4fa !important;
--toolbarbutton-icon-fill: #89b4fa !important;
--lwt-text-color: #cdd6f4 !important;
--toolbar-field-color: #cdd6f4 !important;
--tab-selected-textcolor: rgb(171, 197, 247) !important;
--toolbar-field-focus-color: #cdd6f4 !important;
--toolbar-color: #cdd6f4 !important;
--newtab-text-primary-color: #cdd6f4 !important;
--arrowpanel-color: #cdd6f4 !important;
--arrowpanel-background: #1e1e2e !important;
--sidebar-text-color: #cdd6f4 !important;
--lwt-sidebar-text-color: #cdd6f4 !important;
--lwt-sidebar-background-color: #11111b !important;
--toolbar-bgcolor: #313244 !important;
--newtab-background-color: #1e1e2e !important;
--zen-themed-toolbar-bg: #181825 !important;
--zen-main-browser-background: #181825 !important;
}
#permissions-granted-icon {
color: #181825 !important;
}
.sidebar-placesTree {
background-color: #1e1e2e !important;
}
#zen-workspaces-button {
background-color: #1e1e2e !important;
}
#TabsToolbar {
background-color: #181825 !important;
}
#urlbar-background {
background-color: #1e1e2e !important;
}
.content-shortcuts {
background-color: #1e1e2e !important;
border-color: #89b4fa !important;
}
.urlbarView-url {
color: #89b4fa !important;
}
#zenEditBookmarkPanelFaviconContainer {
background: #11111b !important;
}
toolbar .toolbarbutton-1 {
&:not([disabled]) {
&:is([open], [checked])
> :is(
.toolbarbutton-icon,
.toolbarbutton-text,
.toolbarbutton-badge-stack
) {
fill: #11111b;
}
}
}
.identity-color-blue {
--identity-tab-color: #89b4fa !important;
--identity-icon-color: #89b4fa !important;
}
.identity-color-turquoise {
--identity-tab-color: #94e2d5 !important;
--identity-icon-color: #94e2d5 !important;
}
.identity-color-green {
--identity-tab-color: #a6e3a1 !important;
--identity-icon-color: #a6e3a1 !important;
}
.identity-color-yellow {
--identity-tab-color: #f9e2af !important;
--identity-icon-color: #f9e2af !important;
}
.identity-color-orange {
--identity-tab-color: #fab387 !important;
--identity-icon-color: #fab387 !important;
}
.identity-color-red {
--identity-tab-color: #f38ba8 !important;
--identity-icon-color: #f38ba8 !important;
}
.identity-color-pink {
--identity-tab-color: #f5c2e7 !important;
--identity-icon-color: #f5c2e7 !important;
}
.identity-color-purple {
--identity-tab-color: #cba6f7 !important;
--identity-icon-color: #cba6f7 !important;
}
}

View File

@ -0,0 +1,158 @@
/* Catppuccin Mocha Blue userContent.css*/
@media (prefers-color-scheme: dark) {
/* Common variables affecting all pages */
@-moz-document url-prefix("about:") {
:root {
--in-content-page-color: #cdd6f4 !important;
--color-accent-primary: #89b4fa !important;
--color-accent-primary-hover: rgb(163, 197, 251) !important;
--color-accent-primary-active: rgb(138, 153, 250) !important;
background-color: #1e1e2e !important;
--in-content-page-background: #1e1e2e !important;
}
}
/* Variables and styles specific to about:newtab and about:home */
@-moz-document url("about:newtab"), url("about:home") {
:root {
--newtab-background-color: #1e1e2e !important;
--newtab-background-color-secondary: #313244 !important;
--newtab-element-hover-color: #313244 !important;
--newtab-text-primary-color: #cdd6f4 !important;
--newtab-wordmark-color: #cdd6f4 !important;
--newtab-primary-action-background: #89b4fa !important;
}
.icon {
color: #89b4fa !important;
}
.search-wrapper .logo-and-wordmark .logo {
background:
url("zen-logo-mocha.svg"),
url("https://raw.githubusercontent.com/IAmJafeth/zen-browser/main/themes/Mocha/Blue/zen-logo-mocha.svg")
no-repeat center !important;
display: inline-block !important;
height: 82px !important;
width: 82px !important;
background-size: 82px !important;
}
@media (max-width: 609px) {
.search-wrapper .logo-and-wordmark .logo {
background-size: 64px !important;
height: 64px !important;
width: 64px !important;
}
}
.card-outer:is(:hover, :focus, .active):not(.placeholder) .card-title {
color: #89b4fa !important;
}
.top-site-outer .search-topsite {
background-color: #89b4fa !important;
}
.compact-cards .card-outer .card-context .card-context-icon.icon-download {
fill: #a6e3a1 !important;
}
}
/* Variables and styles specific to about:preferences */
@-moz-document url-prefix("about:preferences") {
:root {
--zen-colors-tertiary: #181825 !important;
--in-content-text-color: #cdd6f4 !important;
--link-color: #89b4fa !important;
--link-color-hover: rgb(163, 197, 251) !important;
--zen-colors-primary: #313244 !important;
--in-content-box-background: #313244 !important;
--zen-primary-color: #89b4fa !important;
}
groupbox,
moz-card {
background: #1e1e2e !important;
}
button,
groupbox menulist {
background: #313244 !important;
color: #cdd6f4 !important;
}
.main-content {
background-color: #11111b !important;
}
.identity-color-blue {
--identity-tab-color: #8aadf4 !important;
--identity-icon-color: #8aadf4 !important;
}
.identity-color-turquoise {
--identity-tab-color: #8bd5ca !important;
--identity-icon-color: #8bd5ca !important;
}
.identity-color-green {
--identity-tab-color: #a6da95 !important;
--identity-icon-color: #a6da95 !important;
}
.identity-color-yellow {
--identity-tab-color: #eed49f !important;
--identity-icon-color: #eed49f !important;
}
.identity-color-orange {
--identity-tab-color: #f5a97f !important;
--identity-icon-color: #f5a97f !important;
}
.identity-color-red {
--identity-tab-color: #ed8796 !important;
--identity-icon-color: #ed8796 !important;
}
.identity-color-pink {
--identity-tab-color: #f5bde6 !important;
--identity-icon-color: #f5bde6 !important;
}
.identity-color-purple {
--identity-tab-color: #c6a0f6 !important;
--identity-icon-color: #c6a0f6 !important;
}
}
/* Variables and styles specific to about:addons */
@-moz-document url-prefix("about:addons") {
:root {
--zen-dark-color-mix-base: #181825 !important;
--background-color-box: #1e1e2e !important;
}
}
/* Variables and styles specific to about:protections */
@-moz-document url-prefix("about:protections") {
:root {
--zen-primary-color: #1e1e2e !important;
--social-color: #cba6f7 !important;
--coockie-color: #89dceb !important;
--fingerprinter-color: #f9e2af !important;
--cryptominer-color: #b4befe !important;
--tracker-color: #a6e3a1 !important;
--in-content-primary-button-background-hover: rgb(81, 83, 105) !important;
--in-content-primary-button-text-color-hover: #cdd6f4 !important;
--in-content-primary-button-background: #45475a !important;
--in-content-primary-button-text-color: #cdd6f4 !important;
}
.card {
background-color: #313244 !important;
}
}
}

View File

@ -0,0 +1,13 @@
<svg width="1024" height="1024" viewBox="0 0 1024 1024" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_15_9)">
<rect width="1024" height="1024" rx="225" fill="#11111b"/>
<circle cx="512" cy="512" r="340" stroke="#cdd6f4" stroke-width="70"/>
<circle cx="512" cy="512" r="224.915" stroke="#cdd6f4" stroke-width="51"/>
<circle cx="512" cy="512" r="129.018" stroke="#cdd6f4" stroke-width="31"/>
</g>
<defs>
<clipPath id="clip0_15_9">
<rect width="1024" height="1024" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 568 B

View File

@ -0,0 +1,12 @@
{ pkgs, inputs, ... }:
{
# TODO programatically get default name
home = {
file.".zen/xdaxqlov.default/chrome" = {
source = ./chrome;
recursive = true;
};
packages = with pkgs; [ inputs.zen-browser.packages.${system}.default ]; # Beta
};
}