Compare commits
3 Commits
3c0832158f
...
42751bf2f0
Author | SHA1 | Date | |
---|---|---|---|
42751bf2f0 | |||
893aa88155 | |||
61090d1439 |
@ -1,36 +1,36 @@
|
|||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# DO NOT change this unless you know what you're doing!
|
# DO NOT change this unless you know what you're doing!
|
||||||
system.stateVersion = "24.11";
|
system.stateVersion = "24.11";
|
||||||
|
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
XDG_SESSION_TYPE = "wayland";
|
XDG_SESSION_TYPE = "wayland";
|
||||||
XDG_CURRENT_DESKTOP = "Hyprland";
|
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||||
NIXPKGS_ALLOW_INSECURE = 1;
|
NIXPKGS_ALLOW_INSECURE = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs.config = {
|
nixpkgs.config = {
|
||||||
allowInsecurePredicate = pkg: builtins.elem (pkgs.lib.getName pkg) [
|
allowInsecurePredicate = pkg: builtins.elem (pkgs.lib.getName pkg) [
|
||||||
"fluffychat-linux"
|
"fluffychat-linux"
|
||||||
"olm"
|
"olm"
|
||||||
"python312Packages.youtube-dl"
|
"python312Packages.youtube-dl"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
alacritty
|
alacritty
|
||||||
vim
|
vim
|
||||||
bluez
|
bluez
|
||||||
xwayland
|
xwayland
|
||||||
unzip
|
unzip
|
||||||
networkmanager
|
networkmanager
|
||||||
];
|
];
|
||||||
|
|
||||||
services.automatic-timezoned.enable = true;
|
services.automatic-timezoned.enable = true;
|
||||||
|
|
||||||
boot.loader.grub.enable = false;
|
boot.loader.grub.enable = false;
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
|
||||||
programs.xwayland.enable = true;
|
programs.xwayland.enable = true;
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,9 @@ let
|
|||||||
pkgs = inputs.nixpkgs.legacyPackages.${system};
|
pkgs = inputs.nixpkgs.legacyPackages.${system};
|
||||||
mkSystem = pkgs: hostname:
|
mkSystem = pkgs: hostname:
|
||||||
pkgs.lib.nixosSystem {
|
pkgs.lib.nixosSystem {
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = {
|
||||||
|
inherit inputs;
|
||||||
|
};
|
||||||
modules = [
|
modules = [
|
||||||
./base-configuration.nix
|
./base-configuration.nix
|
||||||
./${hostname}
|
./${hostname}
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
{ inputs, ... }:
|
{ inputs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../modules/greetd.nix
|
../../modules/greetd.nix
|
||||||
../../modules/nvidia-support.nix
|
../../modules/nvidia-support.nix
|
||||||
../../modules/open-fprint-suspend-fix.nix
|
../../modules/fingerprint.nix
|
||||||
inputs.fingerprint-sensor.nixosModules."06cb-009a-fingerprint-sensor"
|
];
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
@ -8,4 +8,16 @@ in {
|
|||||||
|
|
||||||
networking.wireless.enable = pkgs.lib.mkIf wirelessEnabled true;
|
networking.wireless.enable = pkgs.lib.mkIf wirelessEnabled true;
|
||||||
networking.wireless.userControlled.enable = pkgs.lib.mkIf wirelessEnabled true;
|
networking.wireless.userControlled.enable = pkgs.lib.mkIf wirelessEnabled true;
|
||||||
|
|
||||||
|
networking.firewall = {
|
||||||
|
trustedInterfaces = [ "p2p-wl+" ];
|
||||||
|
allowedTCPPorts = [
|
||||||
|
7236
|
||||||
|
7250
|
||||||
|
];
|
||||||
|
allowedUDPPorts = [
|
||||||
|
7236
|
||||||
|
5353
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
programs.adb.enable = true;
|
||||||
programs.thunar.enable = true;
|
programs.thunar.enable = true;
|
||||||
|
|
||||||
programs.thunar.plugins = with pkgs.xfce; [
|
programs.thunar.plugins = with pkgs.xfce; [
|
||||||
|
@ -18,24 +18,11 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = false;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
jack.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services.bluetooth.serviceConfig.ExecStart = pkgs.lib.mkForce [
|
systemd.services.bluetooth.serviceConfig.ExecStart = pkgs.lib.mkForce [
|
||||||
""
|
""
|
||||||
"${pkgs.bluez}/libexec/bluetooth/bluetoothd -f /etc/bluetooth/main.conf -C"
|
"${pkgs.bluez}/libexec/bluetooth/bluetoothd -f /etc/bluetooth/main.conf -C"
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
|
||||||
hardware.bluetooth.powerOnBoot = true;
|
|
||||||
|
|
||||||
services.blueman.enable = true;
|
|
||||||
|
|
||||||
services.gvfs.enable = true;
|
services.gvfs.enable = true;
|
||||||
services.tlp = {
|
services.tlp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -45,5 +32,25 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.geoclue2 = {
|
||||||
|
enableWifi = true;
|
||||||
|
geoProviderUrl = "https://api.beacondb.net/v1/geolocate";
|
||||||
|
};
|
||||||
|
|
||||||
services.dbus.enable = true;
|
services.dbus.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
jack.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware.bluetooth = {
|
||||||
|
enable = true;
|
||||||
|
powerOnBoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.blueman.enable = true;
|
||||||
|
hardware.enableAllFirmware = true;
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
username = "sadorowo";
|
username = "sadorowo";
|
||||||
fullname = "Franek";
|
fullname = "Franek";
|
||||||
preferredShell = pkgs.fish;
|
preferredShell = pkgs.fish;
|
||||||
in {
|
in {
|
||||||
users.users.${username} = {
|
users.users.${username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = fullname;
|
description = fullname;
|
||||||
home = "/home/${username}";
|
home = "/home/${username}";
|
||||||
extraGroups = [ "wheel" "networkmanager" ];
|
extraGroups = [ "wheel" "networkmanager" "plugdev" "adbusers" ];
|
||||||
shell = preferredShell;
|
shell = preferredShell;
|
||||||
ignoreShellProgramCheck = true; # Will do it later in profile configuration
|
ignoreShellProgramCheck = true; # Will do it later in profile configuration
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
options.services.fingerprint-fix.enable = lib.mkEnableOption "Enable systemd service to restart fingerprint services after suspend.";
|
options.services.fingerprint-fix.enable = lib.mkEnableOption "Enable support for fingerprint for P51S-like ThinkPads.";
|
||||||
options.services.fingerprint-fix.calibDataFile = lib.mkOption {
|
options.services.fingerprint-fix.calibDataFile = lib.mkOption {
|
||||||
description = "Path to calibration data file.";
|
description = "Path to calibration data file.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
inputs.fingerprint-sensor.nixosModules."06cb-009a-fingerprint-sensor"
|
||||||
|
];
|
||||||
|
|
||||||
config = lib.mkIf config.services.fingerprint-fix.enable {
|
config = lib.mkIf config.services.fingerprint-fix.enable {
|
||||||
# Needed because we're getting TLS error with open-fprintd-resume
|
# Needed because we're getting TLS error with open-fprintd-resume
|
||||||
systemd.services.validity-restart = let
|
systemd.services.validity-restart = let
|
||||||
@ -13,11 +17,8 @@
|
|||||||
in {
|
in {
|
||||||
description = "Restart services to fix fingerprint integration";
|
description = "Restart services to fix fingerprint integration";
|
||||||
wantedBy = targets;
|
wantedBy = targets;
|
||||||
after = targets;
|
after = targets;
|
||||||
serviceConfig = {
|
serviceConfig.ExecStart = "systemctl restart open-fprintd python3-validity";
|
||||||
type = "oneshot";
|
|
||||||
ExecStart = "systemctl restart python3-validity.service";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services."06cb-009a-fingerprint-sensor" = {
|
services."06cb-009a-fingerprint-sensor" = {
|
||||||
@ -26,6 +27,9 @@
|
|||||||
calib-data-file = config.services.fingerprint-fix.calibDataFile;
|
calib-data-file = config.services.fingerprint-fix.calibDataFile;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.fprintd.enable = lib.mkForce true; # Fprintd is not working with P51s
|
security.pam.services.su.fprintAuth = true;
|
||||||
};
|
security.pam.services.sudo.fprintAuth = true;
|
||||||
|
security.pam.services.login.fprintAuth = true;
|
||||||
|
security.pam.services.greetd.fprintAuth = true;
|
||||||
|
};
|
||||||
}
|
}
|
@ -8,7 +8,6 @@ in {
|
|||||||
./packages.nix # Packages to install
|
./packages.nix # Packages to install
|
||||||
./programs.nix # Programs to enable
|
./programs.nix # Programs to enable
|
||||||
./theme.nix # System-wide/GTK theme
|
./theme.nix # System-wide/GTK theme
|
||||||
./portal.nix # Desktop portals
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
@ -25,3 +24,4 @@ in {
|
|||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
home.stateVersion = "24.11"; # DO NOT change this unless you know what you're doing!
|
home.stateVersion = "24.11"; # DO NOT change this unless you know what you're doing!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,7 +44,8 @@ in {
|
|||||||
starship
|
starship
|
||||||
firefox-beta-bin
|
firefox-beta-bin
|
||||||
thunderbird-bin
|
thunderbird-bin
|
||||||
element-desktop
|
youtube-music
|
||||||
|
fluffychat
|
||||||
libreoffice-qt6-fresh
|
libreoffice-qt6-fresh
|
||||||
gimp
|
gimp
|
||||||
vscodium git nodejs
|
vscodium git nodejs
|
||||||
@ -56,7 +57,6 @@ in {
|
|||||||
greetd.greetd greetd.tuigreet
|
greetd.greetd greetd.tuigreet
|
||||||
playerctl
|
playerctl
|
||||||
adwaita-icon-theme
|
adwaita-icon-theme
|
||||||
darkman
|
|
||||||
android-tools
|
android-tools
|
||||||
filezilla
|
filezilla
|
||||||
bitwarden-desktop
|
bitwarden-desktop
|
||||||
|
@ -1,29 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
portals-config = pkgs.writeTextDir "share/xdg-desktop-portal/portals/portals.conf" ''
|
|
||||||
[preferred]
|
|
||||||
default=hyprland
|
|
||||||
org.freedesktop.impl.portal.Settings=darkman
|
|
||||||
'';
|
|
||||||
packages = [
|
|
||||||
pkgs.xdg-desktop-portal
|
|
||||||
pkgs.xdg-desktop-portal-hyprland
|
|
||||||
pkgs.xdg-desktop-portal-gtk
|
|
||||||
pkgs.darkman
|
|
||||||
];
|
|
||||||
portals = pkgs.symlinkJoin {
|
|
||||||
name = "xdg-portals";
|
|
||||||
paths = [ portals-config ] ++ packages;
|
|
||||||
pathsToLink = [
|
|
||||||
"/share/xdg-desktop-portal/portals"
|
|
||||||
"/share/applications"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
home.sessionVariables = {
|
|
||||||
XDG_DESKTOP_PORTAL_DIR = "${portals}/share/xdg-desktop-portal/portals";
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = packages;
|
|
||||||
}
|
|
@ -13,21 +13,36 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.obs-studio = {
|
||||||
|
enable = true;
|
||||||
|
plugins = with pkgs.obs-studio-plugins; [
|
||||||
|
obs-backgroundremoval
|
||||||
|
obs-pipewire-audio-capture
|
||||||
|
#advanced-scene-switcher
|
||||||
|
obs-tuna
|
||||||
|
obs-move-transition
|
||||||
|
waveform
|
||||||
|
wlrobs
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
services.darkman = {
|
services.darkman = {
|
||||||
enable = true;
|
enable = true;
|
||||||
darkModeScripts = {
|
darkModeScripts = {
|
||||||
gtk-theme = ''
|
theme = ''
|
||||||
${pkgs.dconf}/bin/dconf write\
|
${pkgs.dconf}/bin/dconf write\
|
||||||
/org/gnome/desktop/interface/color-scheme "'prefer-dark'"
|
/org/gnome/desktop/interface/color-scheme "'prefer-dark'"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
wallpaper = ''
|
wallpaper = ''
|
||||||
$HOME/.config/hypr/scripts/random-wallpaper.sh
|
$HOME/.config/hypr/scripts/random-wallpaper.sh
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
pywalfox = "command -v pywalfox &>/dev/null && pywalfox dark && pywalfox update";
|
||||||
};
|
};
|
||||||
|
|
||||||
lightModeScripts = {
|
lightModeScripts = {
|
||||||
gtk-theme = ''
|
theme = ''
|
||||||
${pkgs.dconf}/bin/dconf write\
|
${pkgs.dconf}/bin/dconf write\
|
||||||
/org/gnome/desktop/interface/color-scheme "'prefer-light'"
|
/org/gnome/desktop/interface/color-scheme "'prefer-light'"
|
||||||
'';
|
'';
|
||||||
@ -35,8 +50,10 @@
|
|||||||
wallpaper = ''
|
wallpaper = ''
|
||||||
$HOME/.config/hypr/scripts/random-wallpaper.sh
|
$HOME/.config/hypr/scripts/random-wallpaper.sh
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
pywalfox = "command -v pywalfox &>/dev/null && pywalfox light && pywalfox update";
|
||||||
};
|
};
|
||||||
|
|
||||||
settings.usegeoclue = false;
|
settings.usegeoclue = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
{ pkgs, inputs, ... }:
|
{ pkgs, inputs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
nerdfonts = (pkgs.nerdfonts.override {
|
nerdfonts = (pkgs.nerdfonts.override {
|
||||||
fonts = [
|
fonts = [
|
||||||
"CascadiaCode"
|
"CascadiaCode"
|
||||||
"JetBrainsMono"
|
"JetBrainsMono"
|
||||||
"FiraCode"
|
"FiraCode"
|
||||||
"SpaceMono"
|
"SpaceMono"
|
||||||
];
|
];
|
||||||
});
|
});
|
||||||
|
|
||||||
cursor-theme = "Bibata-Modern-Classic";
|
cursor-theme = "Bibata-Modern-Classic";
|
||||||
cursor-pkg = pkgs.bibata-cursors;
|
cursor-pkg = pkgs.bibata-cursors;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home = {
|
home = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user