Compare commits

...

11 commits

Author SHA1 Message Date
92841387af removed default comments 2025-07-02 22:48:13 +02:00
4908e6cf52 moved config around
- moved fuzzel config to the nix file rather than editing it in a
specific file
- added fzf zsh support
2025-07-02 22:48:03 +02:00
48c2b6f207 better software repartition 2025-07-02 21:22:26 +02:00
64a306d83c moved some useful options used by niri 2025-07-02 21:21:47 +02:00
fdee7b7cf3 workstation client should have the default set of needed software 2025-07-02 21:21:29 +02:00
f1604be829 added silly script 2025-07-02 19:10:34 +02:00
93147b37a6 fixed port 2025-07-02 19:10:34 +02:00
1605ba3951 more silly utils 2025-07-02 19:10:34 +02:00
3d6286340f fixed niri path 2025-07-02 18:28:00 +02:00
7fa38d9777 added workstation config 2025-07-02 18:04:48 +02:00
Harry Hauer
b52b99f405 added work host 2025-07-02 17:40:33 +02:00
17 changed files with 348 additions and 38 deletions

View file

@ -27,9 +27,9 @@
url = "git+https://git.rougebordeaux.xyz/harry123/nix-secrets-next.git";
flake = false;
};
miovim.url = "git+https://git.rougebordeaux.xyz/harry123/miovim.git";
*/
miovim.url = "git+https://git.rougebordeaux.xyz/harry123/miovim.git";
nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgsUnstable";
@ -64,7 +64,7 @@
...
}@inputs:
let
username = "harry123";
username = "misschloe777";
secrets = builtins.toString inputs.nix-secrets;
specialArgs = {
@ -110,6 +110,36 @@
./home-manager/home.nix
catppuccin.homeModules.catppuccin
];
home.packages = [
inputs.miovim.packages.${system}.default
];
};
home-manager.extraSpecialArgs = { inherit inputs; };
}
];
};
workstation = nixpkgsUnstable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = specialArgs;
modules = [
./hosts/workstation/configuration.nix
nix-flatpak.nixosModules.nix-flatpak
catppuccin.nixosModules.catppuccin
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.${username} = {
imports = [
./home-manager/home.nix
catppuccin.homeModules.catppuccin
];
home.packages = [
inputs.miovim.packages.${system}.default
];
};
home-manager.extraSpecialArgs = { inherit inputs; };
}

View file

@ -0,0 +1 @@
#!/usr/bin/env bash

View file

@ -7,8 +7,8 @@
{
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "harry123";
home.homeDirectory = "/home/harry123";
home.username = "misschloe777";
home.homeDirectory = "/home/misschloe777";
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release
@ -22,11 +22,6 @@
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = with pkgs; [
# # Adds the 'hello' command to your environment. It prints a friendly
# # "Hello, world!" when run.
# pkgs.hello
beeper
nerd-fonts.code-new-roman
ffmpegthumbnailer
xfce.tumbler
@ -38,24 +33,21 @@
cava
hyfetch
kittysay
nextcloud-client
thunderbird-bin
feh
waybar
p7zip
tealdeer
libreoffice-qt
tetrio-desktop
playerctl
wf-recorder
file
osu-lazer-bin
qbittorrent
i2pd
ripgrep
vscode
@ -78,10 +70,7 @@
audacious-plugins
libsixel
unzip
p7zip
libsixel
libnotify
unzip
p7zip
@ -89,6 +78,8 @@
fuzzel
zsh-syntax-highlighting
dysk
rsync
obsidian
papirus-icon-theme
# # You can also create simple shell scripts directly inside your
@ -113,7 +104,6 @@
".bashrc".source = dotfiles/bash/.bashrc;
".config/hyfetch.json".source = dotfiles/hyfetch/hyfetch.json;
".config/niri".source = dotfiles/niri;
".config/fuzzel/fuzzel.ini".source = dotfiles/fuzzel/fuzzel.ini;
".config/mako".source = dotfiles/mako;
# # You can also set the file content immediately.
@ -137,6 +127,34 @@
"--cmd cd"
];
programs.fuzzel = {
enable = true;
settings = {
main = {
match-mode = "fzf";
};
colors = {
background = "eff1f5dd";
text = "4c4f69ff";
prompt = "5c5f77ff";
placeholder = "8c8fa1ff";
input = "4c4f69ff";
match = "d20f39ff";
selection = "acb0beff";
selection-text = "4c4f69ff";
selection-match = "d20f39ff";
counter = "8c8fa1ff";
border = "d20f39ff";
};
border.radius = 0;
};
};
programs.fzf = {
enable = true;
enableZshIntegration = true;
};
services.mpris-proxy.enable = true;
services.udiskie = {

View file

@ -5,6 +5,7 @@
{
config,
lib,
username,
pkgs,
inputs,
...
@ -78,7 +79,7 @@
environment.pathsToLink = [ "/share/zsh" ];
# Define a user account. Don't forget to set a password with passwd.
users.users.harry123 = {
users.users.${username} = {
isNormalUser = true;
shell = pkgs.zsh;
extraGroups = [
@ -130,17 +131,6 @@
options = "--delete-older-than 10d";
};
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This option defines the first version of NixOS you have installed on this particular machine,
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
#

View file

@ -4,6 +4,7 @@
(discord.override {
withVencord = true;
})
vesktop
];
# screen record support
xdg = {

View file

@ -10,6 +10,7 @@
"vscode"
"tetrio-desktop"
"beeper"
"exact-audio-copy"
];
environment.systemPackages = with pkgs; [
@ -34,6 +35,7 @@
# 3d modeling
blender
beeper
signal-desktop
gajim
weechat
@ -45,19 +47,26 @@
nil
jetbrains.idea-ultimate
why3
alt-ergo
cvc4
z3
# why3
# alt-ergo
# cvc4
# z3
bitwarden
kicad
ente-auth
ente-web
jetbrains.rider
revolt-desktop
exactaudiocopy
picard
nextcloud-client
i2pd
# games
tetrio-desktop
osu-lazer-bin
];
programs.kdeconnect.enable = true;
virtualisation.containers.enable = true;
virtualisation = {
podman = {

View file

@ -23,7 +23,7 @@
encode gzip
reverse_proxy :4004
reverse_proxy :4000
'';
services.caddy.virtualHosts."http://eepy.rougebordeaux.xyz".extraConfig = ''

View file

@ -0,0 +1,136 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
inputs,
config,
pkgs,
...
}:
{
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
../../shared/client/niri.nix
../../shared
./software
];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Use latest kernel.
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.initrd.luks.devices."luks-11a80280-8a8c-44c0-a8be-7ef370eb37ae".device =
"/dev/disk/by-uuid/11a80280-8a8c-44c0-a8be-7ef370eb37ae";
networking.hostName = "workstation"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "Europe/Paris";
# Select internationalisation properties.
i18n.defaultLocale = "fr_FR.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "fr_FR.UTF-8";
LC_IDENTIFICATION = "fr_FR.UTF-8";
LC_MEASUREMENT = "fr_FR.UTF-8";
LC_MONETARY = "fr_FR.UTF-8";
LC_NAME = "fr_FR.UTF-8";
LC_NUMERIC = "fr_FR.UTF-8";
LC_PAPER = "fr_FR.UTF-8";
LC_TELEPHONE = "fr_FR.UTF-8";
LC_TIME = "fr_FR.UTF-8";
};
# Configure keymap in X11
services.xserver.xkb = {
layout = "fr";
variant = "azerty";
};
# Configure console keymap
console.keyMap = "fr";
# Define a user account. Don't forget to set a password with passwd.
users.users.misschloe777 = {
isNormalUser = true;
description = "misschloe777";
extraGroups = [
"networkmanager"
"wheel"
"audio"
"video"
"podman"
];
packages = with pkgs; [
inputs.zen-browser.packages."${system}".default
];
};
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
wget
dwl
git
tmux
mako
grim
slurp
wl-clipboard
udiskie
];
programs.zsh.enable = true;
environment.pathsToLink = [ "/share/zsh" ];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
programs.mtr.enable = true;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "25.05"; # Did you read the comment?
}

View file

@ -0,0 +1,3 @@
{
imports = [ ./nvidia.nix ];
}

View file

@ -0,0 +1,13 @@
{ config, pkgs, ... }:
{
boot.blacklistedKernelModules = [ "nouveau" ];
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [ nvidia-vaapi-driver ];
};
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia = {
open = false;
};
}

View file

@ -0,0 +1,6 @@
{
imports = [
./workstation.nix
./discord.nix
];
}

View file

@ -0,0 +1,22 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
(discord.override {
withVencord = true;
})
vesktop
];
# 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;
};
};
}

View file

@ -0,0 +1,37 @@
{ pkgs, lib, ... }:
{
nixpkgs.config.allowUnfreePredicate =
pkg:
builtins.elem (lib.getName pkg) [
"davinci-resolve"
"vscode"
"tetrio-desktop"
"beeper"
];
environment.systemPackages = with pkgs; [
zathura
libreoffice-qt
hunspell
hunspellDicts.fr-any
hunspellDicts.en-gb-large
# recording software
obs-studio
gvfs
nil
bitwarden
];
virtualisation.containers.enable = true;
virtualisation = {
podman = {
enable = true;
# Create a `docker` alias for podman, to use it as a drop-in replacement
dockerCompat = true;
# Required for containers under podman-compose to be able to talk to each other.
defaultNetwork.settings.dns_enabled = true;
};
};
}

View file

@ -0,0 +1,42 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "vmd" "nvme" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/a9f9a6b3-1a37-4b41-9bc1-2926b91d2313";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-73dfdf0a-a2af-4288-8d8a-dadebb09dbb6".device = "/dev/disk/by-uuid/73dfdf0a-a2af-4288-8d8a-dadebb09dbb6";
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/CA07-8097";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/fea61063-24da-4921-86f4-d26c700ae66f"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -36,7 +36,9 @@
};
services.displayManager.gdm.enable = true;
services.udisks2.enable = true;
security.pam.services.swaylock = { };
security.pam.loginLimits = [
{
domain = "@users";

View file

@ -17,9 +17,11 @@
pkgs.foot.terminfo
pkgs.kittysay
pkgs.tmux
pkgs.fzf
];
environment.variables.EDITOR = "nvim";
programs.fzf.fuzzyCompletion = true;
nix.settings.experimental-features = [
"nix-command"
@ -31,8 +33,6 @@
keyMap = "fr";
};
services.tailscale.enable = true;
# Set your time zone.
time.timeZone = lib.mkDefault "Europe/Paris";
i18n.defaultLocale = "fr_FR.UTF-8";

0
shared/zsh.nix Normal file
View file