framework
This commit is contained in:
@ -8,5 +8,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ docker-compose ];
|
environment.systemPackages = with pkgs; [
|
||||||
|
docker-compose
|
||||||
|
minikube
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
51
configs/gnome.nix
Normal file
51
configs/gnome.nix
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
programs.evolution.enable = true;
|
||||||
|
|
||||||
|
services = {
|
||||||
|
xserver = {
|
||||||
|
enable = true;
|
||||||
|
excludePackages = [ pkgs.xterm ];
|
||||||
|
displayManager = {
|
||||||
|
gdm = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
desktopManager.gnome.enable = true;
|
||||||
|
layout = "us";
|
||||||
|
|
||||||
|
# Enable touchpad support.
|
||||||
|
libinput.enable = true;
|
||||||
|
updateDbusEnvironment = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
blackbox-terminal
|
||||||
|
gnome.gnome-power-manager
|
||||||
|
gnome.gnome-tweaks
|
||||||
|
gnomeExtensions.appindicator
|
||||||
|
gnomeExtensions.blur-my-shell
|
||||||
|
gnomeExtensions.vitals
|
||||||
|
whitesur-gtk-theme
|
||||||
|
whitesur-icon-theme
|
||||||
|
moka-icon-theme
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.gnome.excludePackages = (with pkgs; [ gnome-tour ])
|
||||||
|
++ (with pkgs.gnome; [
|
||||||
|
cheese # webcam tool
|
||||||
|
gnome-music
|
||||||
|
gedit # text editor
|
||||||
|
epiphany # web browser
|
||||||
|
gnome-characters
|
||||||
|
totem # video player
|
||||||
|
iagno # go game
|
||||||
|
hitori # sudoku game
|
||||||
|
atomix # puzzle game
|
||||||
|
]);
|
||||||
|
|
||||||
|
# services.gpg-agent.pinentryFlavor = lib.mkDefault "gnome3";
|
||||||
|
|
||||||
|
}
|
@ -41,37 +41,37 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# fonts = {
|
fonts = {
|
||||||
# enableDefaultFonts = true;
|
enableDefaultFonts = true;
|
||||||
# fontDir.enable = true;
|
fontDir.enable = true;
|
||||||
|
|
||||||
# fonts = with pkgs; [
|
fonts = with pkgs; [
|
||||||
# # (nerdfonts.override { fonts = [ "Liberation" ]; })
|
# (nerdfonts.override { fonts = [ "Liberation" ]; })
|
||||||
# nerdfonts
|
nerdfonts
|
||||||
# corefonts
|
corefonts
|
||||||
# # google-fonts
|
google-fonts
|
||||||
# liberation_ttf
|
liberation_ttf
|
||||||
# noto-fonts
|
noto-fonts
|
||||||
# noto-fonts-cjk
|
noto-fonts-cjk
|
||||||
# noto-fonts-emoji
|
noto-fonts-emoji
|
||||||
# noto-fonts-extra
|
noto-fonts-extra
|
||||||
|
|
||||||
# open-sans
|
open-sans
|
||||||
# stix-two
|
stix-two
|
||||||
# twemoji-color-font
|
twemoji-color-font
|
||||||
# ];
|
];
|
||||||
|
|
||||||
# # fontconfig = {
|
# fontconfig = {
|
||||||
# # enable = true;
|
# enable = true;
|
||||||
# # antialias = true;
|
# antialias = true;
|
||||||
# # defaultFonts = {
|
# defaultFonts = {
|
||||||
# # # monospace = [ "Fira Mono" ];
|
# # monospace = [ "Fira Mono" ];
|
||||||
# # serif = [ "Linux Libertine" ];
|
# serif = [ "Linux Libertine" ];
|
||||||
# # sansSerif = [ "Open Sans" ];
|
# sansSerif = [ "Open Sans" ];
|
||||||
# # emoji = [ "Twitter Color Emoji" ];
|
# emoji = [ "Twitter Color Emoji" ];
|
||||||
# # };
|
# };
|
||||||
# # };
|
# };
|
||||||
# };
|
};
|
||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
hardware.sane.enable = true;
|
hardware.sane.enable = true;
|
||||||
|
@ -15,7 +15,11 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
desktopManager.pantheon.enable = true;
|
desktopManager.pantheon = {
|
||||||
|
enable = true;
|
||||||
|
extraWingpanelIndicators = with pkgs; [ wingpanel-indicator-ayatana ];
|
||||||
|
};
|
||||||
|
|
||||||
layout = "us";
|
layout = "us";
|
||||||
|
|
||||||
# Enable touchpad support.
|
# Enable touchpad support.
|
||||||
@ -23,4 +27,9 @@
|
|||||||
updateDbusEnvironment = true;
|
updateDbusEnvironment = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# App indicator
|
||||||
|
environment.pathsToLink = [ "/libexec" ];
|
||||||
|
environment.systemPackages = with pkgs; [ indicator-application-gtk3 ];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,20 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
unstable = import <nixos-unstable> { config.allowUnfree = true; };
|
unstable = import <nixos-unstable> {
|
||||||
|
config.allowUnfree = true;
|
||||||
|
config.permittedInsecurePackages = [
|
||||||
|
"electron-12.2.3"
|
||||||
|
];
|
||||||
|
config.packageOverrides = pkgs: {
|
||||||
|
steam = pkgs.steam.override {
|
||||||
|
extraPkgs = pkgs: with unstable.pkgs; [
|
||||||
|
gamescope
|
||||||
|
mangohud
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [ <home-manager/nixos> ];
|
imports = [ <home-manager/nixos> ];
|
||||||
@ -9,31 +22,31 @@ in
|
|||||||
home-manager.users.alex = { pkgs, ... }: {
|
home-manager.users.alex = { pkgs, ... }: {
|
||||||
home = {
|
home = {
|
||||||
packages = with unstable.pkgs; [
|
packages = with unstable.pkgs; [
|
||||||
bitwarden
|
brave
|
||||||
cura
|
chromium
|
||||||
cypress
|
# bitwarden
|
||||||
|
# cura
|
||||||
|
czkawka
|
||||||
discord
|
discord
|
||||||
etcher
|
# etcher
|
||||||
firefox
|
firefox
|
||||||
font-manager
|
# font-manager
|
||||||
freecad
|
# freecad
|
||||||
fslint
|
# homebank
|
||||||
homebank
|
|
||||||
insomnia
|
insomnia
|
||||||
kdenlive
|
# kdenlive
|
||||||
libreoffice
|
libreoffice
|
||||||
lutris
|
lutris
|
||||||
# mangohud
|
|
||||||
meld
|
meld
|
||||||
# obs-studio
|
# obs-studio
|
||||||
pinta
|
pinta
|
||||||
prusa-slicer
|
# prusa-slicer
|
||||||
rpi-imager
|
# rpi-imager
|
||||||
signal-desktop
|
signal-desktop
|
||||||
|
steam
|
||||||
solaar
|
solaar
|
||||||
spotify
|
spotify
|
||||||
steam
|
# teams
|
||||||
teams
|
|
||||||
virtmanager
|
virtmanager
|
||||||
vulkan-tools
|
vulkan-tools
|
||||||
wine
|
wine
|
||||||
|
@ -60,6 +60,35 @@ in
|
|||||||
}/bin/git-credential-libsecret";
|
}/bin/git-credential-libsecret";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
kitty = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
enable_audio_bell false
|
||||||
|
|
||||||
|
background #000000
|
||||||
|
foreground #e9e9e9
|
||||||
|
cursor #e9e9e9
|
||||||
|
selection_background #424242
|
||||||
|
color0 #000000
|
||||||
|
color8 #000000
|
||||||
|
color1 #d44d53
|
||||||
|
color9 #d44d53
|
||||||
|
color2 #b9c949
|
||||||
|
color10 #b9c949
|
||||||
|
color3 #e6c446
|
||||||
|
color11 #e6c446
|
||||||
|
color4 #79a6da
|
||||||
|
color12 #79a6da
|
||||||
|
color5 #c396d7
|
||||||
|
color13 #c396d7
|
||||||
|
color6 #70c0b1
|
||||||
|
color14 #70c0b1
|
||||||
|
color7 #fffefe
|
||||||
|
color15 #fffefe
|
||||||
|
selection_foreground #000000
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -24,9 +24,11 @@ in
|
|||||||
"nginx"
|
"nginx"
|
||||||
"scanner"
|
"scanner"
|
||||||
"adbusers"
|
"adbusers"
|
||||||
|
"locatedb"
|
||||||
];
|
];
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDPSzeNjfkz7/B/18TcJxxmNFUhvTKoieBcexdzebWH7oncvyBXNRJp8vAqSIVFLzz5UUFQNFuilggs8/N48U84acmFOxlbUmxlkf8KZgeB/G6uQ8ncQh6M1HNNPH+9apTURgfctr7eEZe9seLIEBISQLXB2Sf3F1ogfDj25S8kH9RM4wM1/jDFK5IecWHScKxwQPmCoXeGE1LEJq6nkQLXMDsWhSihtWouaTxSR0p7/wp/Rqt/hzLEWj8e3+qLMc5JrrdaWksupUCysme7CnSfGSzNUv9RKiRCTFofYPT9tbRn5JzdpQ55v22S6OvmmXUHjST1MOzI8MpVPZCCqd/ZQ1E+gErFiMwjG4sn/xxdPK9/jbQaXMjLklbKtR+C5090Ew2u2kj78jqGk/8COhF1MXh/9qjcG+C51uD1AS9d410kfjPwkaUt4U2KktDMQ942nWywrvIWM0Gt2kgDLYotsy/70q/aTJ8bvaCoWoDOGmpWcyNNBalz4OYYGI2Z0WHrVTs0FpzSk/XeQz0OLkmueoh5GDGd8zrfO6Nf5LWI17aWGRePTpQP5mJIg6jC3j8/QVrthEP6QyIIkZsnfsmvSiMWVfXqEy1BxVlu3T6aLffaj679KCsxY+mx5mTH2hwd4ZdbSI4F0GCIt+WGaFhHs2V3ZQitoEZuraRPEc4HGw== alexander@szczepan.ski"
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDPSzeNjfkz7/B/18TcJxxmNFUhvTKoieBcexdzebWH7oncvyBXNRJp8vAqSIVFLzz5UUFQNFuilggs8/N48U84acmFOxlbUmxlkf8KZgeB/G6uQ8ncQh6M1HNNPH+9apTURgfctr7eEZe9seLIEBISQLXB2Sf3F1ogfDj25S8kH9RM4wM1/jDFK5IecWHScKxwQPmCoXeGE1LEJq6nkQLXMDsWhSihtWouaTxSR0p7/wp/Rqt/hzLEWj8e3+qLMc5JrrdaWksupUCysme7CnSfGSzNUv9RKiRCTFofYPT9tbRn5JzdpQ55v22S6OvmmXUHjST1MOzI8MpVPZCCqd/ZQ1E+gErFiMwjG4sn/xxdPK9/jbQaXMjLklbKtR+C5090Ew2u2kj78jqGk/8COhF1MXh/9qjcG+C51uD1AS9d410kfjPwkaUt4U2KktDMQ942nWywrvIWM0Gt2kgDLYotsy/70q/aTJ8bvaCoWoDOGmpWcyNNBalz4OYYGI2Z0WHrVTs0FpzSk/XeQz0OLkmueoh5GDGd8zrfO6Nf5LWI17aWGRePTpQP5mJIg6jC3j8/QVrthEP6QyIIkZsnfsmvSiMWVfXqEy1BxVlu3T6aLffaj679KCsxY+mx5mTH2hwd4ZdbSI4F0GCIt+WGaFhHs2V3ZQitoEZuraRPEc4HGw== alexander@szczepan.ski"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOYEaT0gH9yJM2Al0B+VGXdZB/b2qjZK7n01Weq0TcmQ alex@framework"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
119
machine/framework.nix
Normal file
119
machine/framework.nix
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
let
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
<nixos-hardware/framework/12th-gen-intel>
|
||||||
|
/etc/nixos/hardware-configuration.nix
|
||||||
|
../configs/gui.nix
|
||||||
|
../configs/docker.nix
|
||||||
|
../configs/libvirt.nix
|
||||||
|
../configs/common.nix
|
||||||
|
../configs/user.nix
|
||||||
|
../configs/user-gui.nix
|
||||||
|
../configs/user-gui-applications.nix
|
||||||
|
../configs/pantheon.nix
|
||||||
|
<home-manager/nixos>
|
||||||
|
];
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
initrd.systemd.enable = true;
|
||||||
|
loader = {
|
||||||
|
systemd-boot.enable = true;
|
||||||
|
efi = {
|
||||||
|
canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
plymouth.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.config.packageOverrides = pkgs: {
|
||||||
|
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
networking.hostName = "framework"; # Define your hostname.
|
||||||
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
enableAllFirmware = true;
|
||||||
|
cpu.intel.updateMicrocode = true;
|
||||||
|
opengl = {
|
||||||
|
enable = true;
|
||||||
|
driSupport32Bit = true;
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
intel-media-driver # LIBVA_DRIVER_NAME=iHD
|
||||||
|
vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
|
||||||
|
vaapiVdpau
|
||||||
|
libvdpau-va-gl
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable sound.
|
||||||
|
sound.enable = true;
|
||||||
|
hardware.pulseaudio = {
|
||||||
|
enable = true;
|
||||||
|
support32Bit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
power-profiles-daemon.enable = true;
|
||||||
|
auto-cpufreq.enable = true;
|
||||||
|
|
||||||
|
# # Enable fractional scaling
|
||||||
|
# xserver.desktopManager.gnome = {
|
||||||
|
# extraGSettingsOverrides = ''
|
||||||
|
# [org.gnome.mutter]
|
||||||
|
# experimental-features=['scale-monitor-framebuffer']
|
||||||
|
# '';
|
||||||
|
# extraGSettingsOverridePackages = [ pkgs.gnome.mutter ];
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
|
||||||
|
powerManagement = {
|
||||||
|
enable = true;
|
||||||
|
powertop.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.extraConfig = ''
|
||||||
|
DefaultTimeoutStopSec=10s
|
||||||
|
'';
|
||||||
|
|
||||||
|
# # Set display settings with 150% fractional scaling
|
||||||
|
# systemd.tmpfiles.rules = [
|
||||||
|
# "L+ /run/gdm/.config/monitors.xml - - - - ${pkgs.writeText "gdm-monitors.xml" ''
|
||||||
|
# <monitors version="2">
|
||||||
|
# <configuration>
|
||||||
|
# <logicalmonitor>
|
||||||
|
# <x>0</x>
|
||||||
|
# <y>0</y>
|
||||||
|
# <scale>1.5009980201721191</scale>
|
||||||
|
# <primary>yes</primary>
|
||||||
|
# <monitor>
|
||||||
|
# <monitorspec>
|
||||||
|
# <connector>eDP-1</connector>
|
||||||
|
# <vendor>BOE</vendor>
|
||||||
|
# <product>0x095f</product>
|
||||||
|
# <serial>0x00000000</serial>
|
||||||
|
# </monitorspec>
|
||||||
|
# <mode>
|
||||||
|
# <width>2256</width>
|
||||||
|
# <height>1504</height>
|
||||||
|
# <rate>59.999</rate>
|
||||||
|
# </mode>
|
||||||
|
# </monitor>
|
||||||
|
# </logicalmonitor>
|
||||||
|
# </configuration>
|
||||||
|
# </monitors>
|
||||||
|
# ''}"
|
||||||
|
# ];
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
intel-gpu-tools
|
||||||
|
powertop
|
||||||
|
];
|
||||||
|
|
||||||
|
system.stateVersion = "23.05";
|
||||||
|
}
|
@ -91,6 +91,7 @@
|
|||||||
nixpkgs.config.packageOverrides = pkgs: {
|
nixpkgs.config.packageOverrides = pkgs: {
|
||||||
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
|
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.opengl = {
|
hardware.opengl = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
|
Reference in New Issue
Block a user