diff --git a/flake.lock b/flake.lock index 6d19645..7239b2c 100644 --- a/flake.lock +++ b/flake.lock @@ -85,11 +85,11 @@ ] }, "locked": { - "lastModified": 1740872218, - "narHash": "sha256-ZaMw0pdoUKigLpv9HiNDH2Pjnosg7NBYMJlHTIsHEUo=", + "lastModified": 1741352980, + "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "3876f6b87db82f33775b1ef5ea343986105db764", + "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", "type": "github" }, "original": { @@ -107,11 +107,11 @@ ] }, "locked": { - "lastModified": 1738453229, - "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", + "lastModified": 1741352980, + "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", + "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", "type": "github" }, "original": { @@ -184,11 +184,11 @@ ] }, "locked": { - "lastModified": 1740870877, - "narHash": "sha256-LWDIJvKWMW0tiih1jTcAK0ncTi3S9IF3gOhpCT1ydik=", + "lastModified": 1742058297, + "narHash": "sha256-b4SZc6TkKw8WQQssbN5O2DaCEzmFfvSTPYHlx/SFW9Y=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "25d4946dfc2021584f5bde1fbd2aa97353384a95", + "rev": "59f17850021620cd348ad2e9c0c64f4e6325ce2a", "type": "github" }, "original": { @@ -228,11 +228,11 @@ ] }, "locked": { - "lastModified": 1739595404, - "narHash": "sha256-0CjCfbq0yHWexOrpO06e2WU1r5JAqR6ffy1zgM3NksI=", + "lastModified": 1742014779, + "narHash": "sha256-I6fG1zrfdLFcp/imGZElig0BJO3YU0QEXLgvwWoOpJ8=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "06519cec8fb32d219006da6eacd255504a9996af", + "rev": "524637ef84c177661690b924bf64a1ce18072a2c", "type": "github" }, "original": { @@ -248,11 +248,11 @@ ] }, "locked": { - "lastModified": 1740845322, - "narHash": "sha256-AXEgFj3C0YJhu9k1OhbRhiA6FnDr81dQZ65U3DhaWpw=", + "lastModified": 1742305478, + "narHash": "sha256-iYCinzZnnUeCkZ031qGRwPdwRsqW6o9Y0MgGpA7Zva4=", "owner": "nix-community", "repo": "home-manager", - "rev": "fcac3d6d88302a5e64f6cb8014ac785e08874c8d", + "rev": "fb74bb76d94a6c55632376c931fc108131260ee9", "type": "github" }, "original": { @@ -300,11 +300,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1740874225, - "narHash": "sha256-sdBT6Njf1MDVnb4kLbGhCpXQ2P7E+50TRW1mIdujFEE=", + "lastModified": 1742278753, + "narHash": "sha256-/PaeiSHDZ2vrToGwnBaY9Pzi1dZe89QpIinQnFO12xU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "ee3854351ae89ad79eb148d4253263aeaa936913", + "rev": "8b3c5da082e4102467fe347183c4aff7c28db920", "type": "github" }, "original": { @@ -316,11 +316,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1740870130, - "narHash": "sha256-nrKnJhmplq4QMcenY/bpD6SHOsiN3VS2toUtsO9NfII=", + "lastModified": 1742251389, + "narHash": "sha256-X0tTZ07s549yGg9q8Nwf+75745T8gtxFLbPs0WMo4TU=", "owner": "neovim", "repo": "neovim", - "rev": "13513835798c732554de277229d4c6744df11502", + "rev": "3b1d0e7f701b53d72e4fdf5a721d2684d055cc1d", "type": "github" }, "original": { @@ -336,11 +336,11 @@ ] }, "locked": { - "lastModified": 1740755725, - "narHash": "sha256-amZbqP84H/ApugaT+TADXTB3NbjkVHI9Vac1saIk0kE=", + "lastModified": 1742165923, + "narHash": "sha256-WKzuVsHXjuxYjS9KxKdpoPWpT37LofyS5llSssEw058=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "5d6e0851b60508cffd66b4a6982440a40720338d", + "rev": "95eac71bf52b271523d0ca81dbbeb3182990fc24", "type": "github" }, "original": { @@ -404,11 +404,11 @@ ] }, "locked": { - "lastModified": 1740947705, - "narHash": "sha256-Co2kAD2SZalOm+5zoxmzEVZNvZ17TyafuFsD46BwSdY=", + "lastModified": 1742217219, + "narHash": "sha256-pLRjj0jTL1TloB0ptEwVF51IJJX8a17dSxg+gqiWb30=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "507911df8c35939050ae324caccc7cf4ffb76565", + "rev": "83900d5154d840dfae1e0367c5290f59b9dccf03", "type": "github" }, "original": { @@ -419,11 +419,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1740791350, - "narHash": "sha256-igS2Z4tVw5W/x3lCZeeadt0vcU9fxtetZ/RyrqsCRQ0=", + "lastModified": 1742206328, + "narHash": "sha256-q+AQ///oMnyyFzzF4H9ShSRENt3Zsx37jTiRkLkXXE0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "199169a2135e6b864a888e89a2ace345703c025d", + "rev": "096478927c360bc18ea80c8274f013709cf7bdcd", "type": "github" }, "original": { @@ -435,11 +435,11 @@ }, "nixpkgsSmall": { "locked": { - "lastModified": 1740932899, - "narHash": "sha256-F0qDu2egq18M3edJwEOAE+D+VQ+yESK6YWPRQBfOqq8=", + "lastModified": 1742268799, + "narHash": "sha256-IhnK4LhkBlf14/F8THvUy3xi/TxSQkp9hikfDZRD4Ic=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1546c45c538633ae40b93e2d14e0bb6fd8f13347", + "rev": "da044451c6a70518db5b730fe277b70f494188f1", "type": "github" }, "original": { @@ -451,11 +451,11 @@ }, "nixpkgsUnstable": { "locked": { - "lastModified": 1740828860, - "narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=", + "lastModified": 1742069588, + "narHash": "sha256-C7jVfohcGzdZRF6DO+ybyG/sqpo1h6bZi9T56sxLy+k=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "303bd8071377433a2d8f76e684ec773d70c5b642", + "rev": "c80f6a7e10b39afcc1894e02ef785b1ad0b0d7e5", "type": "github" }, "original": { @@ -467,11 +467,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1740865531, - "narHash": "sha256-h00vGIh/jxcGl8aWdfnVRD74KuLpyY3mZgMFMy7iKIc=", + "lastModified": 1742268799, + "narHash": "sha256-IhnK4LhkBlf14/F8THvUy3xi/TxSQkp9hikfDZRD4Ic=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5ef6c425980847c78a80d759abc476e941a9bf42", + "rev": "da044451c6a70518db5b730fe277b70f494188f1", "type": "github" }, "original": { @@ -483,11 +483,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1731763621, - "narHash": "sha256-ddcX4lQL0X05AYkrkV2LMFgGdRvgap7Ho8kgon3iWZk=", + "lastModified": 1741865919, + "narHash": "sha256-4thdbnP6dlbdq+qZWTsm4ffAwoS8Tiq1YResB+RP6WE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c69a9bffbecde46b4b939465422ddc59493d3e4d", + "rev": "573c650e8a14b2faa0041645ab18aed7e60f0c9a", "type": "github" }, "original": { @@ -497,6 +497,22 @@ "type": "github" } }, + "nixpkgs_4": { + "locked": { + "lastModified": 1738142207, + "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9d3ae807ebd2981d593cddd0080856873139aa40", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixvim": { "inputs": { "flake-parts": "flake-parts_3", @@ -506,11 +522,11 @@ "nuschtosSearch": "nuschtosSearch" }, "locked": { - "lastModified": 1741098523, - "narHash": "sha256-gXDSXDr6tAb+JgxGMvcEjKC9YO8tVOd8hMMZHJLyQ6Q=", + "lastModified": 1742255305, + "narHash": "sha256-XxygfriVXQt+5Iqh6AOjZL5Aes5dH2xzVKpHpL8pDQg=", "owner": "nix-community", "repo": "nixvim", - "rev": "03065fd4708bfdf47dd541d655392a60daa25ded", + "rev": "78f6166c23f80bdfbcc8c44b20f7f4132299a33f", "type": "github" }, "original": { @@ -555,7 +571,8 @@ "nixpkgsSmall": "nixpkgsSmall", "nixpkgsUnstable": "nixpkgsUnstable", "nixvim": "nixvim", - "sops-nix": "sops-nix" + "sops-nix": "sops-nix", + "walker": "walker" } }, "rust-analyzer-src": { @@ -580,11 +597,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1739262228, - "narHash": "sha256-7JAGezJ0Dn5qIyA2+T4Dt/xQgAbhCglh6lzCekTVMeU=", + "lastModified": 1742239755, + "narHash": "sha256-ptn8dR4Uat3UUadGYNnB7CIH9SQm8mK69D2A/twBUXQ=", "owner": "Mic92", "repo": "sops-nix", - "rev": "07af005bb7d60c7f118d9d9f5530485da5d1e975", + "rev": "787afce414bcce803b605c510b60bf43c11f4b55", "type": "github" }, "original": { @@ -608,6 +625,21 @@ "type": "github" } }, + "systems_2": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -628,6 +660,25 @@ "repo": "treefmt-nix", "type": "github" } + }, + "walker": { + "inputs": { + "nixpkgs": "nixpkgs_4", + "systems": "systems_2" + }, + "locked": { + "lastModified": 1740745001, + "narHash": "sha256-XZEIwnwOYgb1wECvT83HB314bd/JBYwSaTaj2EeqWrc=", + "owner": "abenz1267", + "repo": "walker", + "rev": "350d5e078b997b5ca07eda39e207048ee26bbb9d", + "type": "github" + }, + "original": { + "owner": "abenz1267", + "repo": "walker", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 32b9108..e86b430 100644 --- a/flake.nix +++ b/flake.nix @@ -32,6 +32,8 @@ url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "nixpkgs"; }; + + walker.url = "github:abenz1267/walker"; }; outputs = diff --git a/home-manager/dotfiles/sway/config b/home-manager/dotfiles/sway/config index ba2f1d8..22cc4db 100755 --- a/home-manager/dotfiles/sway/config +++ b/home-manager/dotfiles/sway/config @@ -21,7 +21,7 @@ set $term footclient # Your preferred application launcher # Note: pass the final command to swaymsg so that the resulting window can be opened # on the original workspace that the command was run on. -set $menu walker | xargs swaymsg exec -- +set $menu walker --modules applications,ssh,calculator | xargs swaymsg exec -- # screenshot folder set $screenshot_folder ~/Images/Captures\ d\'écrans/ @@ -213,6 +213,7 @@ mode "resize" { bindsym Return mode "default" bindsym Escape mode "default" } + bindsym $mod+r mode "resize" # @@ -231,9 +232,11 @@ include /etc/sway/config.d/* input type:keyboard xkb_numlock enabled # floating bitwarden -for_window [app_id="^firefox$" title="^Extension: \(Bitwarden - Free Password Manager\) - Bitwarden — Mozilla Firefox$"] floating enable +for_window [app_id="^firefox$" title="^Extension: \(Bitwarden - Free Password Manager\) - Bitwarden — Mozilla Firefox"] floating enable +for_window [app_id="^firefox$" title="^Incrustation vidéo$"] floating enable +assign [class="firefox"] -> 2 # notification daemon exec swaync -bindsym $mod+Shift+n exec swaync-client -t -sw \ No newline at end of file +bindsym $mod+Shift+n exec swaync-client -t -sw diff --git a/home-manager/dotfiles/waybar/config.jsonc b/home-manager/dotfiles/waybar/config.jsonc index ba291a8..c936fe4 100644 --- a/home-manager/dotfiles/waybar/config.jsonc +++ b/home-manager/dotfiles/waybar/config.jsonc @@ -16,7 +16,8 @@ "wireplumber": { "format": "{volume}% ", "format-muted": "", - "max-volume": 120, + "on-click": "wpctl set-mute @DEFAULT_AUDIO_SINC@ toggle", + "max-volume": 100, "scroll-step": 0.2 }, "privacy": { @@ -29,11 +30,6 @@ "tooltip": true, "tooltip-icon-size": 24 }, - { - "type": "audio-out", - "tooltip": true, - "tooltip-icon-size": 24 - }, { "type": "audio-in", "tooltip": true, @@ -81,7 +77,5 @@ "on-click": "swaync-client -t -sw", "on-click-right": "swaync-client -d -sw", "escape": true - }, - "custom/launcher": {}, - "custom/controlpanel": {} + } } diff --git a/home-manager/dotfiles/waybar/style.css b/home-manager/dotfiles/waybar/style.css index 15d516c..2993e06 100644 --- a/home-manager/dotfiles/waybar/style.css +++ b/home-manager/dotfiles/waybar/style.css @@ -17,6 +17,7 @@ window#waybar { background-color: #fff; + padding-right: 12px; /*border: solid 2px @primary;*/ min-height: 14px; /* set waybar's height to 14px */ font-size: 14px; /* set only the font size to be bigger, which in turn will adjust the height of other elements */ @@ -46,3 +47,13 @@ window#waybar { #workspaces { } + +#privacy-item.screenshare { + color: #000; + background-color: #ff5733; +} + +#privacy-item.audio-in { + color: #000; + background-color: #ffae42; +} diff --git a/home-manager/home.nix b/home-manager/home.nix index fbaefe3..f58a630 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -9,6 +9,7 @@ }: { + imports = [ inputs.walker.homeManagerModules.default ]; # Home Manager needs a bit of information about you and the paths it should # manage. home.username = "harry123"; @@ -37,13 +38,13 @@ # pkgs.hello nerd-fonts.code-new-roman - + ffmpegthumbnailer + xfce.tumbler dm-sans zoxide btop - #pkgs.bitwarden + bitwarden-cli weechat - eclipses.eclipse-java # school wants us to use it... cava hyfetch kittysay @@ -53,6 +54,8 @@ waybar p7zip + libreoffice-qt + playerctl wf-recorder @@ -62,7 +65,6 @@ qbittorrent i2pd - ripgrep vscode @@ -84,18 +86,13 @@ audacious audacious-plugins - krita udiskie libsixel - walker unzip p7zip nixfmt-rfc-style - signal-desktop - gajim - blender # # You can also create simple shell scripts directly inside your # # configuration. For example, this adds a command 'my-hello' to your # # environment: @@ -164,7 +161,7 @@ # or # # /etc/profiles/per-user/harry123/etc/profile.d/hm-session-vars.sh - # + home.sessionVariables = { EDITOR = "nvim"; }; @@ -191,6 +188,20 @@ latitude = 49.0; longitude = 8.4; }; + + xdg = { + userDirs = { + enable = true; + createDirectories = true; + desktop = "${config.home.homeDirectory}/Bureau"; + download = "${config.home.homeDirectory}/Téléchargements"; + music = "${config.home.homeDirectory}/Musique"; + pictures = "${config.home.homeDirectory}/Images"; + extraConfig = { + XDG_SCREENSHOTS_DIR = "${config.home.homeDirectory}/Images/Captures\ d\'écrans"; + }; + }; + }; /* xdg.mimeApps = { enable = true; @@ -201,14 +212,34 @@ "x-scheme-handler/about" = "firefox.desktop"; "x-scheme-handler/unknown" = "firefox.desktop"; "application/pdf" = "org.pwmt.zathura-pdf-mupdf.desktop"; + "image/jpeg" = "feh.desktop"; + "image/png" = "feh.desktop"; }; }; */ + programs.foot = { enable = true; server.enable = true; }; + programs.walker = { + enable = true; + runAsService = true; + + # All options from the config.json can be used here. + config = { + search.placeholder = "Example"; + ui.fullscreen = true; + list = { + height = 200; + }; + websearch.prefix = "?"; + switcher.prefix = "/"; + }; + + }; + # Let Home Manager install and manage itself. programs.home-manager.enable = true; } diff --git a/hosts/goober/features/hardware/bluetooth.nix b/hosts/goober/features/hardware/bluetooth.nix index ea8049a..6f29eb4 100644 --- a/hosts/goober/features/hardware/bluetooth.nix +++ b/hosts/goober/features/hardware/bluetooth.nix @@ -1,7 +1,16 @@ -{config, pkgs, ...}: { - hardware.bluetooth = { +{ config, pkgs, ... }: +{ + hardware.bluetooth = { enable = true; # enables support for Bluetooth - powerOnBoot = true; # powers up the default Bluetooth controller on boot + powerOnBoot = true; # powers up the default Bluetooth controller on boot + settings = { + General = { + Enable = "Source,Sink,Media,Socket"; + Experimental = true; + }; + }; + }; services.blueman.enable = true; + } diff --git a/hosts/goober/features/hardware/pipewire.nix b/hosts/goober/features/hardware/pipewire.nix index dc98e27..9407451 100644 --- a/hosts/goober/features/hardware/pipewire.nix +++ b/hosts/goober/features/hardware/pipewire.nix @@ -1,4 +1,4 @@ -{config, pkgs, ...}: +{ config, pkgs, ... }: { security.rtkit.enable = true; services.pipewire = { @@ -8,7 +8,7 @@ alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; - }; + }; environment.systemPackages = [ pkgs.pwvucontrol ]; diff --git a/hosts/goober/features/software/default.nix b/hosts/goober/features/software/default.nix index 5e3e2d8..a0d79d0 100644 --- a/hosts/goober/features/software/default.nix +++ b/hosts/goober/features/software/default.nix @@ -1,4 +1,4 @@ -{config, ...}: +{ config, ... }: { imports = [ ./wine.nix @@ -8,6 +8,7 @@ ./discord.nix ./ollama.nix ./steam.nix + ./workstation.nix ]; } diff --git a/hosts/goober/features/software/discord.nix b/hosts/goober/features/software/discord.nix index 83e5ea2..d157cfd 100644 --- a/hosts/goober/features/software/discord.nix +++ b/hosts/goober/features/software/discord.nix @@ -1,8 +1,21 @@ -{config, pkgs, ...}: +{ config, pkgs, ... }: { environment.systemPackages = with pkgs; [ (discord.override { withVencord = true; }) ]; + # screen record support + xdg = { + autostart.enable = true; + icons.enable = true; + portal = { + enable = true; + extraPortals = with pkgs; [ + xdg-desktop-portal-wlr + xdg-desktop-portal-gtk + ]; + wlr.enable = true; + }; + }; } diff --git a/hosts/goober/features/software/workstation.nix b/hosts/goober/features/software/workstation.nix new file mode 100644 index 0000000..c7948f0 --- /dev/null +++ b/hosts/goober/features/software/workstation.nix @@ -0,0 +1,42 @@ +{ pkgs, lib, ... }: +{ + # for java development on vscode + programs.nix-ld.enable = true; + + nixpkgs.config.allowUnfreePredicate = + pkg: + builtins.elem (lib.getName pkg) [ + "reaper" + "davinci-resolve" + ]; + environment.systemPackages = with pkgs; [ + # music editing software + reaper + + libreoffice-qt + hunspell + hunspellDicts.fr-any + hunspellDicts.en-gb-large + + # video editing software + davinci-resolve + + # recording software + obs-studio + + # drawing software + krita + + # 3d modeling + blender + + signal-desktop + gajim + weechat + + gvfs + xfce.thunar + + eclipses.eclipse-java # school wants us to use it... + ]; +}