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

This commit is contained in:
Martin Berg Alstad 2025-03-03 21:52:34 +01:00
commit b42c0d9988
Signed by: martials
GPG Key ID: 848D71DE0590C199
20 changed files with 414 additions and 52 deletions

1
.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
home-manager/secrets/* filter=git-crypt diff=git-crypt

View File

@ -1,6 +1,5 @@
{ {
pkgs, pkgs,
inputs,
outputs, outputs,
... ...
}: }:
@ -44,7 +43,7 @@ in
xdg-utils xdg-utils
xdg-desktop-portal xdg-desktop-portal
xdg-desktop-portal-gtk xdg-desktop-portal-gtk
protonmail-desktop unstable.protonmail-desktop
stremio stremio
fastfetch fastfetch
discord discord
@ -52,9 +51,6 @@ in
gimp gimp
vlc vlc
vdhcoapp vdhcoapp
fortune
cowsay
inputs.zen-browser.packages.${system}.default # beta
onlyoffice-desktopeditors onlyoffice-desktopeditors
]; ];

48
flake.lock generated
View File

@ -49,11 +49,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1739094937, "lastModified": 1739283129,
"narHash": "sha256-LemSQ5AZHwl4ZVlirdpAytDWgS96OZsct7Akx/REdGA=", "narHash": "sha256-GXJllf1wY7tOF6uei9S3PnSEghFbnJP1vkxM0kkMOoI=",
"owner": "catppuccin", "owner": "catppuccin",
"repo": "nix", "repo": "nix",
"rev": "aee0cec463e62702751adaeb9f4fc00f2f72879b", "rev": "d4e258e29075a86a82dacaf4f5e0985935ae4658",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -191,11 +191,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1736373539, "lastModified": 1739570999,
"narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=", "narHash": "sha256-eCc0/Q4bPpe4/AS+uzIrHLJcR6BxPQ69q2kD0/Qe6rU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "bd65bc3cde04c16755955630b344bc9e35272c56", "rev": "254d47082e23dbf72fdeca1da6fe1da420f478d8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -234,11 +234,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739002652, "lastModified": 1739606511,
"narHash": "sha256-W83O9ASWUFaDAFY7H9vvW/Gm9PN5Lkh0McYW3bA/6aU=", "narHash": "sha256-ywkv5Pm6p4Taavp3yX9SjoLVf/mIHS3fRXSHjXqaJHQ=",
"owner": "Jas-SinghFSU", "owner": "Jas-SinghFSU",
"repo": "HyprPanel", "repo": "HyprPanel",
"rev": "0d5f80ff5cd525b8f27adfb84cef67d90e3d7f10", "rev": "c309a73d2d9821c90864447058b627c02bd82165",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -314,11 +314,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1739020877, "lastModified": 1740560979,
"narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=", "narHash": "sha256-Vr3Qi346M+8CjedtbyUevIGDZW8LcA1fTG0ugPY/Hic=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a79cfe0ebd24952b580b1cf08cd906354996d547", "rev": "5135c59491985879812717f4c9fea69604e7f26f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -330,11 +330,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1738843498, "lastModified": 1739357830,
"narHash": "sha256-7x+Q4xgFj9UxZZO9aUDCR8h4vyYut4zPUvfj3i+jBHE=", "narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f5a32fa27df91dfc4b762671a0e0a859a8a0058f", "rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -375,11 +375,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1738966895, "lastModified": 1739527837,
"narHash": "sha256-OXOh35rTEnFSO4vj/SDMIlDvFPGW0ba1XhZkfx+AlL0=", "narHash": "sha256-dsb5iSthp5zCWhdV0aXPunFSCkS0pCvRXMMgTEFjzew=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "e7f20a602f6e08a70045f36c531bc44ba1baed07", "rev": "a39e0a651657046f3b936d842147fa51523b6818",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -431,11 +431,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1739074574, "lastModified": 1739223162,
"narHash": "sha256-dLfT4/nIU3RzMHk7I5UigRehSWzq7wGkZxwuQdflO6s=", "narHash": "sha256-YrbYTM0CkZQG38Ysr2gF4BYdsQDNQtQ4YdQTDgw/zWM=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "spicetify-nix", "repo": "spicetify-nix",
"rev": "366191fe8e9375d280e9a6b0ed9823468b49f6e7", "rev": "dea717737d04a2a3e877c082bfd2c7f91c1a33ff",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -500,11 +500,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1739071251, "lastModified": 1740554227,
"narHash": "sha256-Kj4grI7YpHk2RIsy73Dwg7ikDn94MI7zKrWN0BXrvJI=", "narHash": "sha256-xpwZeMw2gGenixGQDyVv+ja+epcR+EJ1BPuGFdgFS18=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "410d6e9a8ba0edd163d0828a4cda1b1f267f2e1a", "rev": "7de16ae319e6f6852274fa90b0d41c00049767c9",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

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

View File

@ -1,23 +1,33 @@
{ pkgs, ... }:
{ {
programs.git = { home.packages = with pkgs; [ git-crypt ];
enable = true;
userName = "Martin Berg Alstad";
userEmail = "git@martials.no";
aliases = { programs.git =
amend = "commit --amend"; let
cm = "commit"; package = pkgs.git.override { withLibsecret = true; };
s = "status"; in
}; {
enable = true;
package = package;
userName = "Martin Berg Alstad";
userEmail = "git@martials.no";
signing = { aliases = {
signByDefault = true; amend = "commit --amend";
key = "848D71DE0590C199"; cm = "commit";
}; s = "status";
};
extraConfig = { signing = {
push.autoSetupRemote = true; signByDefault = true;
safe.directory = "/etc/nixos"; 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; fontSize = 14;
in in
{ {
assistant = {
default_model = {
provider = "ollama";
model = "deepseek-r1:8b";
};
version = "2";
};
autosave = "on_focus_change"; autosave = "on_focus_change";
base_keymap = "JetBrains"; base_keymap = "JetBrains";
buffer_font_family = font; 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_family = font;
ui_font_size = fontSize; ui_font_size = fontSize;
buffer_font_size = fontSize; buffer_font_size = fontSize;

View File

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

View File

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

View File

@ -7,6 +7,7 @@ in
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
"$mainMod" = "SUPER"; "$mainMod" = "SUPER";
"$shiftMod" = "$mainMod SHIFT"; "$shiftMod" = "$mainMod SHIFT";
"$ctrlMod" = "$mainMod CTRL";
"$menu" = "rofi -show drun"; "$menu" = "rofi -show drun";
bind = [ bind = [
@ -29,6 +30,12 @@ in
"$mainMod, up, movefocus, u" "$mainMod, up, movefocus, u"
"$mainMod, down, movefocus, d" "$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] # Switch workspaces with mainMod + [0-9]
"$mainMod, 1, workspace, 1" "$mainMod, 1, workspace, 1"
"$mainMod, 2, workspace, 2" "$mainMod, 2, workspace, 2"

View File

@ -1,7 +1,13 @@
{ pkgs, inputs, ... }: {
pkgs,
inputs,
lib,
...
}:
let let
common = import ../../../common.nix; common = import ../../../common.nix;
theme = import ../../../theme.nix; theme = import ../../../theme.nix;
loader = import ../../secretsLoader.nix lib;
in in
{ {
imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ]; imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ];
@ -75,7 +81,8 @@ in
}; };
weather = { weather = {
unit = "metric"; 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
};
}

View File

@ -22,3 +22,11 @@ update:
nix flake update nix flake update
just switch just switch
# Encrypt all files in the repo using git-crypt
lock:
git-crypt lock
# Decrypt all files in the repo using git-crypt and the user's GPG key
unlock:
git-crypt unlock ~/.config/git/crypt-key

View File

@ -4,6 +4,7 @@
./bluetooth.nix ./bluetooth.nix
./development.nix ./development.nix
./fonts.nix ./fonts.nix
./gaming
./gnome ./gnome
./hardware ./hardware
./locale.nix ./locale.nix
@ -13,7 +14,6 @@
./sddm.nix ./sddm.nix
./security.nix ./security.nix
./shell.nix ./shell.nix
./steam.nix
./qt.nix ./qt.nix
]; ];
} }

View File

@ -0,0 +1,12 @@
{ pkgs, ... }:
{
imports = [
./steam.nix
];
environment.systemPackages = with pkgs; [
heroic
wine
];
}