add nix flakes
This commit is contained in:
parent
6e81c9c351
commit
cd383fa495
@ -1,97 +0,0 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
# Подключение файла описания конфигурации устройств.
|
|
||||||
# Например, описание разбиения дисков.
|
|
||||||
./hardware-configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Использование grub
|
|
||||||
boot.loader.grub.enable = true;
|
|
||||||
boot.loader.grub.device = "/dev/sda";
|
|
||||||
boot.loader.grub.useOSProber = true;
|
|
||||||
|
|
||||||
# Установка имени хоста
|
|
||||||
networking.hostName = "thek4n.local";
|
|
||||||
|
|
||||||
# Использование NetworkManager
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
|
|
||||||
# Установка временной зоны
|
|
||||||
time.timeZone = "Europe/Moscow";
|
|
||||||
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
|
|
||||||
# Включение демона CUPS для печати докуметов
|
|
||||||
services.printing.enable = true;
|
|
||||||
|
|
||||||
# Включение сервисов звука
|
|
||||||
services.pulseaudio.enable = true;
|
|
||||||
services.rtkit.enable = true;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.openssh.enable = true;
|
|
||||||
|
|
||||||
services.greetd = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
default_session = {
|
|
||||||
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd sway";
|
|
||||||
user = "greeter";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
users.user."thek4n" = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "thek4n";
|
|
||||||
extraGroups = [ "networkmanager" "wheel" ];
|
|
||||||
# Установка пользовательских пакетов
|
|
||||||
packages = with pkgs; [ ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Сырая установка бинарников в глобальное окружение
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
alacritty bat brightnessctl ctags fd ffmpeg fzf glow
|
|
||||||
grim highlight imagemagick jq kanshi less lesspipe mako
|
|
||||||
man mpv noto-fonts p7zip poppler resvg ripgrep rofi slurp
|
|
||||||
socat sway swaybg swayidle swaylock tmux tree-sitter ueberzug
|
|
||||||
waybar wget wl-clipboard wlr-randr wtype yazi ydotool zoxide
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.firefox.enable = true;
|
|
||||||
|
|
||||||
programs.neovim = {
|
|
||||||
enable = true;
|
|
||||||
viAlias = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
};
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
|
|
||||||
programs.git = {
|
|
||||||
enabled = true;
|
|
||||||
userName = "thek4n";
|
|
||||||
userEmail = "thek4n@yandex.ru";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.sway = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.etc."sway/config" = {
|
|
||||||
text = ''
|
|
||||||
set $mod Mod4
|
|
||||||
set $term alacritty
|
|
||||||
|
|
||||||
bindsym $mod+Return exec $term'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Указание версии NixOs
|
|
||||||
system.stateVersion = "26.05";
|
|
||||||
}
|
|
||||||
26
nix/flake.nix
Normal file
26
nix/flake.nix
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
description = "NixOS configuration with flakes";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, home-manager, ... }@inputs: {
|
||||||
|
nixosConfigurations.thek4n = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
|
modules = [
|
||||||
|
./hosts/thek4n/default.nix
|
||||||
|
./hosts/thek4n/home.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# `nixos-rebuild switch --flake .#thek4n`
|
||||||
|
default = self.nixosConfigurations.thek4n;
|
||||||
|
};
|
||||||
|
}
|
||||||
75
nix/hosts/thek4n/default.nix
Normal file
75
nix/hosts/thek4n/default.nix
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
{ config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hardware.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Использование grub
|
||||||
|
boot.loader.grub.enable = true;
|
||||||
|
boot.loader.grub.device = "/dev/sda";
|
||||||
|
boot.loader.grub.useOSProber = true;
|
||||||
|
|
||||||
|
networking.hostName = "thek4n";
|
||||||
|
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
time.timeZone = "Europe/Moscow";
|
||||||
|
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
services.pulseaudio.enable = true;
|
||||||
|
services.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.openssh.enable = true;
|
||||||
|
|
||||||
|
services.greetd = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
default_session = {
|
||||||
|
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd sway";
|
||||||
|
user = "greeter";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.user."thek4n" = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "thek4n";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
|
packages = with pkgs; [ ];
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
alacritty bat brightnessctl ctags fd ffmpeg fzf glow
|
||||||
|
grim highlight imagemagick jq kanshi less lesspipe mako
|
||||||
|
man mpv noto-fonts p7zip poppler resvg ripgrep rofi slurp
|
||||||
|
socat sway swaybg swayidle swaylock tmux tree-sitter ueberzug
|
||||||
|
waybar wget wl-clipboard wlr-randr wtype yazi ydotool zoxide
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.firefox.enable = true;
|
||||||
|
|
||||||
|
programs.sway = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.etc."sway/config" = {
|
||||||
|
text = ''
|
||||||
|
set $mod Mod4
|
||||||
|
set $term alacritty
|
||||||
|
|
||||||
|
bindsym $mod+Return exec $term
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "26.05";
|
||||||
|
}
|
||||||
1
nix/hosts/thek4n/hardware.nix
Normal file
1
nix/hosts/thek4n/hardware.nix
Normal file
@ -0,0 +1 @@
|
|||||||
|
todo:
|
||||||
55
nix/hosts/thek4n/home.nix
Normal file
55
nix/hosts/thek4n/home.nix
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
{ config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
];
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
|
||||||
|
users.thek4n = { pkgs, ... }: {
|
||||||
|
home.homeDirectory = "/home/thek4n";
|
||||||
|
home.username = "thek4n";
|
||||||
|
|
||||||
|
home.stateVersion = "24.11";
|
||||||
|
|
||||||
|
home.packages = with pkgs; [ ];
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "thek4n";
|
||||||
|
userEmail = "thek4n@yandex.ru";
|
||||||
|
extraConfig = {
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
pull.rebase = false;
|
||||||
|
core.editor = "nvim";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
autosuggestion.enable = true;
|
||||||
|
syntaxHighlighting.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
viAlias = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "thek4n";
|
||||||
|
userEmail = "thek4n@yandex.ru";
|
||||||
|
};
|
||||||
|
|
||||||
|
# home.file.".config/nvim/init.lua".source = ./nvim/init.lua;
|
||||||
|
# home.file.".zshrc".source = ./zsh/.zshrc;
|
||||||
|
# home.file.".gitconfig".source = ./git/.gitconfig;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
Loading…
x
Reference in New Issue
Block a user